@visulima/storage 1.0.0-alpha.6 → 1.0.0-alpha.7

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 (33) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE.md +4 -4
  3. package/dist/handler/http/fetch/index.js +4 -4
  4. package/dist/handler/http/hono/index.js +3 -3
  5. package/dist/handler/http/nextjs/index.d.ts +2 -2
  6. package/dist/handler/http/nextjs/index.js +4 -4
  7. package/dist/handler/http/node/index.js +8 -4
  8. package/dist/handler/http/solid-start/index.js +3 -3
  9. package/dist/index.js +1 -1
  10. package/dist/openapi/index.js +3 -3
  11. package/dist/packem_shared/{GCSMetaStorage-D2UXIUl1.js → GCSMetaStorage-B-a0EEAN.js} +1 -1
  12. package/dist/packem_shared/{GCStorage-CKKUTi6G.js → GCStorage-0CRe9ItT.js} +1 -1
  13. package/dist/packem_shared/{Multipart-CNFK_Okz.js → Multipart-5Xpy7WhY.js} +3 -3
  14. package/dist/packem_shared/{Multipart-CtUL7BQw.js → Multipart-C-iU9LXj.js} +4 -4
  15. package/dist/packem_shared/{Rest-CAOAEkOj.js → Rest-DO7OslCs.js} +4 -4
  16. package/dist/packem_shared/{Rest-DNuLwBrK.js → Rest-DTaszQ6n.js} +4 -4
  17. package/dist/packem_shared/{TUS_RESUMABLE-GJzZ9R-f.js → TUS_RESUMABLE-BfguFdM1.js} +1 -1
  18. package/dist/packem_shared/{Tus-B8PmlMgR.js → Tus-BQItPVAC.js} +4 -4
  19. package/dist/packem_shared/{Tus-C4F1aYOl.js → Tus-BibjweWH.js} +5 -5
  20. package/dist/packem_shared/{base-handler-core-BKuf4YLT.js → base-handler-core-DLEVHemv.js} +1 -1
  21. package/dist/packem_shared/{base-handler-fetch-Cr0hLiqg.js → base-handler-fetch-A7V0N6AJ.js} +2 -2
  22. package/dist/packem_shared/{base-handler-node-gk5aN9Cx.js → base-handler-node-Dx7ce3sU.js} +2 -2
  23. package/dist/packem_shared/{gcs-meta-storage-DD2FFN7j.js → gcs-meta-storage-cb2Wp-p-.js} +1 -1
  24. package/dist/packem_shared/headers-C9DasoT1.js +1318 -0
  25. package/dist/packem_shared/{multipart-base-B3i67SSX.js → multipart-base-BY0rhkw5.js} +1 -1
  26. package/dist/packem_shared/{rest-base-GRCcnan7.js → rest-base-Bt9Np3M8.js} +2 -2
  27. package/dist/packem_shared/{restOpenApiSpec-CwcHHY2C.js → restOpenApiSpec-D1JC_Jto.js} +1 -1
  28. package/dist/packem_shared/{tusOpenApiSpec-6ohiToBy.js → tusOpenApiSpec-mBZkl7he.js} +1 -1
  29. package/dist/packem_shared/{xhrOpenApiSpec-DS17brnx.js → xhrOpenApiSpec-B1V5Dxrj.js} +1 -1
  30. package/dist/storage/gcs/index.js +2 -2
  31. package/dist/utils/headers.d.ts +4 -4
  32. package/package.json +4 -4
  33. package/dist/packem_shared/headers-DoS5nwM-.js +0 -3220
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ ## @visulima/storage [1.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/storage@1.0.0-alpha.6...@visulima/storage@1.0.0-alpha.7) (2026-03-06)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **storage:** update packem to 2.0.0-alpha.54 ([a65ad87](https://github.com/visulima/visulima/commit/a65ad877ac5804a0c1354331a380fbcceddf261f))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * **storage:** update dependencies ([19b3d5c](https://github.com/visulima/visulima/commit/19b3d5c5fd1e535fbbb1419a827e5c4c0b35fa77))
10
+ * **storage:** update dependencies ([f591768](https://github.com/visulima/visulima/commit/f591768de337c1b201191e4b78dd7e3fb79ca42b))
11
+ * update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
12
+ * year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
13
+
14
+ ### Code Refactoring
15
+
16
+ * **storage:** replace SuperHeaders with native Headers ([68546c5](https://github.com/visulima/visulima/commit/68546c52bedad5c1338d571ad9a2034cc9f49b53))
17
+
18
+
19
+ ### Dependencies
20
+
21
+ * **@visulima/pagination:** upgraded to 5.0.0-alpha.6
22
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.4
23
+ * **@visulima/humanizer:** upgraded to 3.0.0-alpha.6
24
+ * **@visulima/path:** upgraded to 3.0.0-alpha.5
25
+
1
26
  ## @visulima/storage [1.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/storage@1.0.0-alpha.5...@visulima/storage@1.0.0-alpha.6) (2026-01-17)
2
27
 
3
28
  ### Miscellaneous Chores
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 visulima
3
+ Copyright (c) 2026 visulima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -63,7 +63,7 @@ Repository: git+https://github.com/visulima/visulima.git
63
63
 
64
64
  > MIT License
65
65
  >
66
- > Copyright (c) 2025 visulima
66
+ > Copyright (c) 2026 visulima
67
67
  >
68
68
  > Permission is hereby granted, free of charge, to any person obtaining a copy
69
69
  > of this software and associated documentation files (the "Software"), to deal
@@ -358,7 +358,7 @@ Repository: git+https://github.com/visulima/visulima.git
358
358
 
359
359
  > MIT License
360
360
  >
361
- > Copyright (c) 2025 visulima
361
+ > Copyright (c) 2026 visulima
362
362
  >
363
363
  > Permission is hereby granted, free of charge, to any person obtaining a copy
364
364
  > of this software and associated documentation files (the "Software"), to deal
@@ -427,7 +427,7 @@ Repository: git+https://github.com/visulima/visulima.git
427
427
 
428
428
  > MIT License
429
429
  >
430
- > Copyright (c) 2025 visulima
430
+ > Copyright (c) 2026 visulima
431
431
  >
432
432
  > Permission is hereby granted, free of charge, to any person obtaining a copy
433
433
  > of this software and associated documentation files (the "Software"), to deal
@@ -1,4 +1,4 @@
1
- export { default as Multipart } from '../../../packem_shared/Multipart-CNFK_Okz.js';
2
- export { default as Rest } from '../../../packem_shared/Rest-CAOAEkOj.js';
3
- export { Tus } from '../../../packem_shared/Tus-B8PmlMgR.js';
4
- export { TUS_RESUMABLE, TUS_VERSION } from '../../../packem_shared/TUS_RESUMABLE-GJzZ9R-f.js';
1
+ export { default as Multipart } from '../../../packem_shared/Multipart-5Xpy7WhY.js';
2
+ export { default as Rest } from '../../../packem_shared/Rest-DO7OslCs.js';
3
+ export { Tus } from '../../../packem_shared/Tus-BQItPVAC.js';
4
+ export { TUS_RESUMABLE, TUS_VERSION } from '../../../packem_shared/TUS_RESUMABLE-BfguFdM1.js';
@@ -1,6 +1,6 @@
1
- import Multipart from '../../../packem_shared/Multipart-CNFK_Okz.js';
2
- import RestFetch from '../../../packem_shared/Rest-CAOAEkOj.js';
3
- import { Tus } from '../../../packem_shared/Tus-B8PmlMgR.js';
1
+ import Multipart from '../../../packem_shared/Multipart-5Xpy7WhY.js';
2
+ import RestFetch from '../../../packem_shared/Rest-DO7OslCs.js';
3
+ import { Tus } from '../../../packem_shared/Tus-BQItPVAC.js';
4
4
 
5
5
  const createHandlerFunction = (handler) => async (c) => {
6
6
  try {
@@ -1,5 +1,5 @@
1
- import type { NextRequest } from "next/server";
2
- import { NextResponse } from "next/server";
1
+ import type { NextRequest } from "next/server.d.ts";
2
+ import { NextResponse } from "next/server.d.ts";
3
3
  import type { UploadFile } from "../../../storage/utils/index.d.ts";
4
4
  import type { UploadOptions } from "../../types.d.ts";
5
5
  /**
@@ -1,7 +1,7 @@
1
- import { NextResponse } from 'next/server';
2
- import Multipart from '../../../packem_shared/Multipart-CNFK_Okz.js';
3
- import RestFetch from '../../../packem_shared/Rest-CAOAEkOj.js';
4
- import { Tus } from '../../../packem_shared/Tus-B8PmlMgR.js';
1
+ import { NextResponse } from 'next/server.js';
2
+ import Multipart from '../../../packem_shared/Multipart-5Xpy7WhY.js';
3
+ import RestFetch from '../../../packem_shared/Rest-DO7OslCs.js';
4
+ import { Tus } from '../../../packem_shared/Tus-BQItPVAC.js';
5
5
 
6
6
  const createHandler = (config) => {
7
7
  let handler;
@@ -1,4 +1,8 @@
1
- export { default as Multipart } from '../../../packem_shared/Multipart-CtUL7BQw.js';
2
- export { default as Rest } from '../../../packem_shared/Rest-DNuLwBrK.js';
3
- export { Tus } from '../../../packem_shared/Tus-C4F1aYOl.js';
4
- export { TUS_RESUMABLE, TUS_VERSION } from '../../../packem_shared/TUS_RESUMABLE-GJzZ9R-f.js';
1
+ import Multipart from '../../../packem_shared/Multipart-C-iU9LXj.js';
2
+ import Rest from '../../../packem_shared/Rest-DTaszQ6n.js';
3
+ import { Tus } from '../../../packem_shared/Tus-BibjweWH.js';
4
+ export { TUS_RESUMABLE, TUS_VERSION } from '../../../packem_shared/TUS_RESUMABLE-BfguFdM1.js';
5
+
6
+
7
+
8
+ export { Multipart, Rest, Tus };
@@ -1,6 +1,6 @@
1
- import Multipart from '../../../packem_shared/Multipart-CNFK_Okz.js';
2
- import RestFetch from '../../../packem_shared/Rest-CAOAEkOj.js';
3
- import { Tus } from '../../../packem_shared/Tus-B8PmlMgR.js';
1
+ import Multipart from '../../../packem_shared/Multipart-5Xpy7WhY.js';
2
+ import RestFetch from '../../../packem_shared/Rest-DO7OslCs.js';
3
+ import { Tus } from '../../../packem_shared/Tus-BQItPVAC.js';
4
4
 
5
5
  const createSolidStartHandler = (config) => {
6
6
  let handler;
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ export { B as AbstractBaseStorage, d as defaultCloudStorageFileNameValidation, a
7
7
  export { ERRORS, ErrorMap, UploadError, isUploadError, throwErrorCode } from './packem_shared/ERRORS-D0apMqnc.js';
8
8
  export { createRetryWrapper, isRetryableError, retry } from './packem_shared/isRetryableError-Dycp7127.js';
9
9
  export { fileTypeFromBlob, fileTypeFromBuffer, fileTypeFromTokenizer, supportedExtensions, supportedMimeTypes } from 'file-type';
10
+ export { default as File } from './packem_shared/File-Bb3P23dr.js';
10
11
  export { default as NoOpMetrics } from './packem_shared/NoOpMetrics-DhAk5rXc.js';
11
12
  export { default as OpenTelemetryMetrics } from './packem_shared/OpenTelemetryMetrics-BnxhqIaH.js';
12
- export { default as File } from './packem_shared/File-Bb3P23dr.js';
13
13
  export { Metadata } from './packem_shared/Metadata-DRLXeJ0F.js';
@@ -1,5 +1,5 @@
1
- export { default as restOpenApiSpec } from '../packem_shared/restOpenApiSpec-CwcHHY2C.js';
1
+ export { default as restOpenApiSpec } from '../packem_shared/restOpenApiSpec-D1JC_Jto.js';
2
2
  export { sharedErrorSchemaObject, sharedFileMetaExampleObject, sharedFileMetaSchemaObject, sharedGet, sharedGetList } from '../packem_shared/sharedGet-Cpo7QUyu.js';
3
3
  export { default as transformOpenApiSpec } from '../packem_shared/transformOpenApiSpec-DWM5WtnN.js';
4
- export { default as tusOpenApiSpec } from '../packem_shared/tusOpenApiSpec-6ohiToBy.js';
5
- export { default as xhrOpenApiSpec } from '../packem_shared/xhrOpenApiSpec-DS17brnx.js';
4
+ export { default as tusOpenApiSpec } from '../packem_shared/tusOpenApiSpec-mBZkl7he.js';
5
+ export { default as xhrOpenApiSpec } from '../packem_shared/xhrOpenApiSpec-B1V5Dxrj.js';
@@ -1,7 +1,7 @@
1
1
  import 'node:crypto';
2
2
  import 'gaxios';
3
3
  import 'google-auth-library';
4
- export { G as default } from './gcs-meta-storage-DD2FFN7j.js';
4
+ export { G as default } from './gcs-meta-storage-cb2Wp-p-.js';
5
5
  import './MetaStorage-pECeFOad.js';
6
6
  import './Metadata-DRLXeJ0F.js';
7
7
  import './GCSConfig-vPP22kN6.js';
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { request } from 'gaxios';
3
3
  import { GoogleAuth } from 'google-auth-library';
4
- import { r as retryOptions, G as GCSMetaStorage, g as getRangeEnd, p as package_, b as buildContentRange } from './gcs-meta-storage-DD2FFN7j.js';
4
+ import { r as retryOptions, G as GCSMetaStorage, g as getRangeEnd, p as package_, b as buildContentRange } from './gcs-meta-storage-cb2Wp-p-.js';
5
5
  import { p as partMatch, d as detectFileTypeFromStream, g as getFileStatus } from './part-match-BMNqHDYD.js';
6
6
  import { throwErrorCode, ERRORS } from './ERRORS-D0apMqnc.js';
7
7
  import { B as BaseStorage, t as toMilliseconds } from './storage-C6NSXb8h.js';
@@ -1,9 +1,9 @@
1
1
  import { Readable } from 'node:stream';
2
2
  import { parseMultipartRequest, MaxFileSizeExceededError, MultipartParseError } from '@remix-run/multipart-parser';
3
- import { c as createHttpError } from './headers-DoS5nwM-.js';
3
+ import { c as createHttpError } from './headers-C9DasoT1.js';
4
4
  import { V as ValidationError } from './validator-BeX_lJet.js';
5
- import { B as BaseHandlerFetch } from './base-handler-fetch-Cr0hLiqg.js';
6
- import { M as MultipartBase } from './multipart-base-B3i67SSX.js';
5
+ import { B as BaseHandlerFetch } from './base-handler-fetch-A7V0N6AJ.js';
6
+ import { M as MultipartBase } from './multipart-base-BY0rhkw5.js';
7
7
 
8
8
  const RE_MIME = /^multipart\/.+|application\/x-www-form-urlencoded$/i;
9
9
  const getIdFromRequestUrl = (url) => {
@@ -1,10 +1,10 @@
1
1
  import { Readable } from 'node:stream';
2
2
  import { parseMultipartRequest, MaxFileSizeExceededError, MultipartParseError } from '@remix-run/multipart-parser/node';
3
- import { c as createHttpError } from './headers-DoS5nwM-.js';
4
- import { g as getIdFromRequest } from './base-handler-core-BKuf4YLT.js';
3
+ import { c as createHttpError } from './headers-C9DasoT1.js';
4
+ import { g as getIdFromRequest } from './base-handler-core-DLEVHemv.js';
5
5
  import { V as ValidationError } from './validator-BeX_lJet.js';
6
- import { B as BaseHandlerNode } from './base-handler-node-gk5aN9Cx.js';
7
- import { M as MultipartBase } from './multipart-base-B3i67SSX.js';
6
+ import { B as BaseHandlerNode } from './base-handler-node-Dx7ce3sU.js';
7
+ import { M as MultipartBase } from './multipart-base-BY0rhkw5.js';
8
8
 
9
9
  const RE_MIME = /^multipart\/.+|application\/x-www-form-urlencoded$/i;
10
10
  class Multipart extends BaseHandlerNode {
@@ -1,8 +1,8 @@
1
- import { c as createHttpError } from './headers-DoS5nwM-.js';
1
+ import { c as createHttpError } from './headers-C9DasoT1.js';
2
2
  import { ERRORS } from './ERRORS-D0apMqnc.js';
3
- import { b as getRequestStream } from './base-handler-core-BKuf4YLT.js';
4
- import { B as BaseHandlerFetch } from './base-handler-fetch-Cr0hLiqg.js';
5
- import { R as RestBase, c as parseContentDispositionValue } from './rest-base-GRCcnan7.js';
3
+ import { b as getRequestStream } from './base-handler-core-DLEVHemv.js';
4
+ import { B as BaseHandlerFetch } from './base-handler-fetch-A7V0N6AJ.js';
5
+ import { R as RestBase, c as parseContentDispositionValue } from './rest-base-Bt9Np3M8.js';
6
6
 
7
7
  class RestFetch extends BaseHandlerFetch {
8
8
  /**
@@ -1,8 +1,8 @@
1
- import { c as createHttpError } from './headers-DoS5nwM-.js';
1
+ import { c as createHttpError } from './headers-C9DasoT1.js';
2
2
  import { hasBody } from 'type-is';
3
- import { a as getHeader, b as getRequestStream, g as getIdFromRequest, r as readBody } from './base-handler-core-BKuf4YLT.js';
4
- import { B as BaseHandlerNode } from './base-handler-node-gk5aN9Cx.js';
5
- import { R as RestBase, v as validateRequestBody, a as validateContentLength, e as extractFileInit, p as parseContentDisposition, b as parseChunkHeaders } from './rest-base-GRCcnan7.js';
3
+ import { a as getHeader, b as getRequestStream, g as getIdFromRequest, r as readBody } from './base-handler-core-DLEVHemv.js';
4
+ import { B as BaseHandlerNode } from './base-handler-node-Dx7ce3sU.js';
5
+ import { R as RestBase, v as validateRequestBody, a as validateContentLength, e as extractFileInit, p as parseContentDisposition, b as parseChunkHeaders } from './rest-base-Bt9Np3M8.js';
6
6
 
7
7
  class Rest extends BaseHandlerNode {
8
8
  /**
@@ -1,4 +1,4 @@
1
- import { c as createHttpError, H as HeaderUtilities } from './headers-DoS5nwM-.js';
1
+ import { c as createHttpError, H as HeaderUtilities } from './headers-C9DasoT1.js';
2
2
  import { Metadata } from './Metadata-DRLXeJ0F.js';
3
3
 
4
4
  const TUS_RESUMABLE_VERSION = "1.0.0";
@@ -1,7 +1,7 @@
1
- import { c as createHttpError } from './headers-DoS5nwM-.js';
2
- import { B as BaseHandlerFetch } from './base-handler-fetch-Cr0hLiqg.js';
3
- import { TusBase } from './TUS_RESUMABLE-GJzZ9R-f.js';
4
- export { TUS_RESUMABLE, TUS_VERSION } from './TUS_RESUMABLE-GJzZ9R-f.js';
1
+ import { c as createHttpError } from './headers-C9DasoT1.js';
2
+ import { B as BaseHandlerFetch } from './base-handler-fetch-A7V0N6AJ.js';
3
+ import { TusBase } from './TUS_RESUMABLE-BfguFdM1.js';
4
+ export { TUS_RESUMABLE, TUS_VERSION } from './TUS_RESUMABLE-BfguFdM1.js';
5
5
 
6
6
  const getIdFromRequestUrl = (url) => {
7
7
  try {
@@ -1,9 +1,9 @@
1
1
  import { format } from 'node:url';
2
- import { c as createHttpError } from './headers-DoS5nwM-.js';
3
- import { a as getHeader, b as getRequestStream, g as getIdFromRequest, c as getBaseUrl } from './base-handler-core-BKuf4YLT.js';
4
- import { B as BaseHandlerNode } from './base-handler-node-gk5aN9Cx.js';
5
- import { TusBase } from './TUS_RESUMABLE-GJzZ9R-f.js';
6
- export { TUS_RESUMABLE, TUS_VERSION } from './TUS_RESUMABLE-GJzZ9R-f.js';
2
+ import { c as createHttpError } from './headers-C9DasoT1.js';
3
+ import { a as getHeader, b as getRequestStream, g as getIdFromRequest, c as getBaseUrl } from './base-handler-core-DLEVHemv.js';
4
+ import { B as BaseHandlerNode } from './base-handler-node-Dx7ce3sU.js';
5
+ import { TusBase } from './TUS_RESUMABLE-BfguFdM1.js';
6
+ export { TUS_RESUMABLE, TUS_VERSION } from './TUS_RESUMABLE-BfguFdM1.js';
7
7
 
8
8
  class Tus extends BaseHandlerNode {
9
9
  /**
@@ -2,7 +2,7 @@ import { EventEmitter } from 'node:events';
2
2
  import { format } from 'node:url';
3
3
  import mime from 'mime';
4
4
  import { ErrorMap } from './ERRORS-D0apMqnc.js';
5
- import { H as HeaderUtilities } from './headers-DoS5nwM-.js';
5
+ import { H as HeaderUtilities } from './headers-C9DasoT1.js';
6
6
  import { Readable } from 'node:stream';
7
7
  import 'type-is';
8
8
 
@@ -1,6 +1,6 @@
1
- import { H as HeaderUtilities, h as httpErrorsExports } from './headers-DoS5nwM-.js';
1
+ import { H as HeaderUtilities, h as httpErrorsExports } from './headers-C9DasoT1.js';
2
2
  import { ERRORS, isUploadError } from './ERRORS-D0apMqnc.js';
3
- import { B as BaseHandlerCore, p as pick } from './base-handler-core-BKuf4YLT.js';
3
+ import { B as BaseHandlerCore, p as pick } from './base-handler-core-DLEVHemv.js';
4
4
  import { i as isValidationError } from './validator-BeX_lJet.js';
5
5
  import { waitForStorage } from './waitForStorage-Cscw85sx.js';
6
6
 
@@ -1,9 +1,9 @@
1
1
  import { paginate } from '@visulima/pagination';
2
- import { H as HeaderUtilities, h as httpErrorsExports, c as createHttpError } from './headers-DoS5nwM-.js';
2
+ import { H as HeaderUtilities, h as httpErrorsExports, c as createHttpError } from './headers-C9DasoT1.js';
3
3
  import mime from 'mime';
4
4
  import { ERRORS, isUploadError } from './ERRORS-D0apMqnc.js';
5
5
  import { match } from 'path-to-regexp';
6
- import { p as pick, B as BaseHandlerCore, s as setHeaders, d as getRealPath, u as uuidRegex } from './base-handler-core-BKuf4YLT.js';
6
+ import { p as pick, B as BaseHandlerCore, s as setHeaders, d as getRealPath, u as uuidRegex } from './base-handler-core-DLEVHemv.js';
7
7
  import { i as isValidationError } from './validator-BeX_lJet.js';
8
8
  import { waitForStorage } from './waitForStorage-Cscw85sx.js';
9
9
  import { PassThrough } from 'node:stream';
@@ -7,7 +7,7 @@ import GCSConfig from './GCSConfig-vPP22kN6.js';
7
7
  import { h as hasContent } from './has-content-CY66ehMK.js';
8
8
 
9
9
  var name = "@visulima/storage";
10
- var version = "1.0.0-alpha.5";
10
+ var version = "1.0.0-alpha.6";
11
11
  const package_ = {
12
12
  name: name,
13
13
  version: version};