{"_id":"@carv_admin/carv-id-tg-sdk","_rev":"5-dfb5e69a71baa02241fc43629a4ec3bf","name":"@carv_admin/carv-id-tg-sdk","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.0":{"name":"@carv_admin/carv-id-tg-sdk","version":"0.0.0","license":"MIT","_id":"@carv_admin/carv-id-tg-sdk@0.0.0","maintainers":[{"name":"carv_admin","email":"infra@carv.io"}],"homepage":"https://github.com/carv-protocol/carv-id-sdk/blob/main/README.md","dist":{"shasum":"29e6873279ea2cea94e64004e06c34176e0c970e","tarball":"https://registry.npmjs.org/@carv_admin/carv-id-tg-sdk/-/carv-id-tg-sdk-0.0.0.tgz","fileCount":7,"integrity":"sha512-08dn0NrC/OCe3uFggPCmGGxzxJCyS/OB91xo4FPxF4u8S1jyYTJk1ExpaF3aPpQE8DeJErc7DfUyclWLQMybRQ==","signatures":[{"sig":"MEQCIFrJ7AnSJ9IIzywt8wpCqfx1WQs+hK8Did+YUMo+JbBiAiBlfLGfXqdtymdA9SB8drvPO/Fpsg2ScknCT0pwMYgmPA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":164687},"main":"./dist/carv-id-tg-sdk.cjs","type":"module","types":"./dist/carv-id-tg-sdk.d.ts","module":"./dist/carv-id-tg-sdk.mjs","gitHead":"de1e8db49ceff406777fc9b1256313fd74f15f44","scripts":{"dev":"tsup --watch","lint":"eslint \"**/*.ts\"","build":"tsup --dts","publish":"tsup --dts && npm publish"},"_npmUser":{"name":"carv_admin","email":"infra@carv.io"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.18.0","dependencies":{"draggabilly":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","typescript":"^5.3.3","@carvid/utils":"workspace:*","@types/draggabilly":"^2.1.6","@carvid/eslint-config":"workspace:*","@carvid/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/carv-id-tg-sdk_0.0.0_1733748348940_0.7591883275176359","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@carv_admin/carv-id-tg-sdk","version":"0.0.1","license":"MIT","_id":"@carv_admin/carv-id-tg-sdk@0.0.1","maintainers":[{"name":"carv_admin","email":"infra@carv.io"}],"homepage":"https://github.com/carv-protocol/carv-id-sdk/blob/main/README.md","dist":{"shasum":"159f0ba800690704c8a4e0596929c156061eb9f0","tarball":"https://registry.npmjs.org/@carv_admin/carv-id-tg-sdk/-/carv-id-tg-sdk-0.0.1.tgz","fileCount":7,"integrity":"sha512-eSIYOtxO2ZFcUY4itms0l7yvV/DRdveHqKcbaioBURXIOBxJ5SohF2rTheKnEfH8LCbt3eyCi6CexALdMCKjDA==","signatures":[{"sig":"MEQCICIeeKCmbVNtACwFpXd32wqVGG9CZbxnto3OHTtpeneOAiAdFfL9h4w8p4KbH45h52LcaIB/YRviXRt0telyHLjpvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99619},"main":"./dist/carv-id-tg-sdk.cjs","type":"module","types":"./dist/carv-id-tg-sdk.d.ts","module":"./dist/carv-id-tg-sdk.mjs","gitHead":"3992655e9aebda81ab411754511ee8fe3447a3c3","scripts":{"dev":"tsup --watch","lint":"eslint \"**/*.ts\"","build":"tsup --dts","publish":"tsup --dts && npm publish --access=public"},"_npmUser":{"name":"carv_admin","email":"infra@carv.io"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.18.0","dependencies":{"draggabilly":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","typescript":"^5.3.3","@carvid/utils":"workspace:*","@types/draggabilly":"^2.1.6","@carvid/eslint-config":"workspace:*","@carvid/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/carv-id-tg-sdk_0.0.1_1733749114470_0.7244453814030332","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@carv_admin/carv-id-tg-sdk","version":"0.0.2","keywords":["carv","carv id","carv id sdk","carv oauth","telegram","sdk"],"license":"MIT","_id":"@carv_admin/carv-id-tg-sdk@0.0.2","maintainers":[{"name":"carv_admin","email":"infra@carv.io"}],"dist":{"shasum":"76589312cee8a1a7d1a3639da0c8c4ba8709d61b","tarball":"https://registry.npmjs.org/@carv_admin/carv-id-tg-sdk/-/carv-id-tg-sdk-0.0.2.tgz","fileCount":8,"integrity":"sha512-DvUU+ZylnT16EStW3y0qACrwWx/7Z+NgC4PkmhnLyXsGTY81wRyKbnU1+w8OxO0WLciag+v8lBlrLzUJDSF34w==","signatures":[{"sig":"MEQCIB3LjhjwHAjRGwvvAhUv0ncxELHbi2MUgHUq/HRPBo6rAiAO/jUPAY4A30WO2WYK98t8IRdD+A8qCoMxKyF1Cz9jYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106998},"main":"./dist/carv-id-tg-sdk.cjs","type":"module","types":"./dist/carv-id-tg-sdk.d.ts","module":"./dist/carv-id-tg-sdk.mjs","gitHead":"eee69f0b9ac23e4ec983403a09837d80bdc99954","scripts":{"dev":"tsup --watch","lint":"eslint \"**/*.ts\"","build":"tsup --dts","publish":"tsup --dts && npm publish --access=public"},"_npmUser":{"name":"carv_admin","email":"infra@carv.io"},"_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\"https://public.carv.io/sdk/carv-id/carv_id.svg\" style=\"width:100px;\" alt=\"CARV ID logo\" /> </p> <h1 align=\"center\">CARV ID SDK</h1>","directories":{},"_nodeVersion":"20.18.0","dependencies":{"draggabilly":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","typescript":"^5.3.3","@carvid/utils":"workspace:*","@types/draggabilly":"^2.1.6","@carvid/eslint-config":"workspace:*","@carvid/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/carv-id-tg-sdk_0.0.2_1733750984758_0.8117654307865048","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@carv_admin/carv-id-tg-sdk","version":"0.0.3","keywords":["carv","carv id","carv id sdk","carv oauth","telegram","sdk"],"license":"MIT","_id":"@carv_admin/carv-id-tg-sdk@0.0.3","maintainers":[{"name":"carv_admin","email":"infra@carv.io"}],"dist":{"shasum":"cefeeea3525888e6a83176df47bf78ba2e463975","tarball":"https://registry.npmjs.org/@carv_admin/carv-id-tg-sdk/-/carv-id-tg-sdk-0.0.3.tgz","fileCount":8,"integrity":"sha512-iIiK425n+k7BnfBxUhRvWNAaI4a/NC2XXmp817Clpl8D2SP5P/Bz0v+gRVmLZBd8Rm0U7vtnYtxYv+Vqml7xpg==","signatures":[{"sig":"MEUCIQCN3zn9cJ71sUXrBMQFOi4g9OYzUR8xPpgWxBujiuBC2wIgWz8srydIzQLRds+iZyt4xpTAjRmnhjfheyjmwiEhBns=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":107015},"main":"./dist/carv-id-tg-sdk.cjs","type":"module","types":"./dist/carv-id-tg-sdk.d.ts","module":"./dist/carv-id-tg-sdk.mjs","gitHead":"7215b1c6ce1135014d965ea5f3ab2423787f05ea","scripts":{"dev":"tsup --watch","lint":"eslint \"**/*.ts\"","build":"tsup --dts","publish":"tsup --dts && npm publish --access=public"},"_npmUser":{"name":"carv_admin","email":"infra@carv.io"},"_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\"https://public.carv.io/sdk/carv-id/carv_id.svg\" style=\"width:100px;\" alt=\"CARV ID logo\" /> </p> <h1 align=\"center\">CARV ID SDK</h1>","directories":{},"_nodeVersion":"20.18.0","dependencies":{"draggabilly":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","typescript":"^5.3.3","@carvid/utils":"workspace:*","@types/draggabilly":"^2.1.6","@carvid/eslint-config":"workspace:*","@carvid/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/carv-id-tg-sdk_0.0.3_1733751171795_0.04861401160628165","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@carv_admin/carv-id-tg-sdk","version":"0.0.4","keywords":["carv","carv id","carv id sdk","carv oauth","telegram","sdk"],"license":"MIT","_id":"@carv_admin/carv-id-tg-sdk@0.0.4","maintainers":[{"name":"carv_admin","email":"infra@carv.io"}],"homepage":"https://carv-id-test.carv.io","bugs":{"url":"https://github.com/carv-protocol/carv-id-sdk/issues"},"dist":{"shasum":"5c11b1bb921570877f9e9cfef50bddac35a0810b","tarball":"https://registry.npmjs.org/@carv_admin/carv-id-tg-sdk/-/carv-id-tg-sdk-0.0.4.tgz","fileCount":8,"integrity":"sha512-wHq0r5oKsiQqo/HESPPVweOgcob9J1sYnPOtfkn86Q2/XqotTbGd3twePYFCjvkD4bcLIJ+8HRkUVOe/M16yaA==","signatures":[{"sig":"MEUCIQCpGM93Yt8N2iN9DavhHL0KdR1Y+bnjyw2TBqdMRVNZbgIgU4iUHdRhxSKz6SFmgh5LCU8/CGPUgKnCBan12NuimMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":107633},"main":"./dist/carv-id-tg-sdk.cjs","type":"module","types":"./dist/carv-id-tg-sdk.d.ts","module":"./dist/carv-id-tg-sdk.mjs","gitHead":"42289d7c5c8fc07a08a4a1ce81bf6d530be13657","scripts":{"dev":"tsup --watch","lint":"eslint \"**/*.ts\"","build":"tsup --dts","publish":"tsup --dts && npm publish --access=public"},"_npmUser":{"name":"carv_admin","email":"infra@carv.io"},"repository":{"url":"git+https://github.com/carv-protocol/carv-id-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"<p align=\"center\">   <img src=\"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='64'%20rx='32'%20fill='%23713FFE'/%3e%3crect%20x='1'%20y='1'","directories":{},"_nodeVersion":"20.18.0","dependencies":{"draggabilly":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","typescript":"^5.3.3","@carvid/utils":"workspace:*","@types/draggabilly":"^2.1.6","@carvid/eslint-config":"workspace:*","@carvid/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/carv-id-tg-sdk_0.0.4_1733752451702_0.8900164129388282","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@carv_admin/carv-id-tg-sdk","version":"0.0.5","license":"MIT","type":"module","repository":{"type":"git","url":"git+https://github.com/carv-protocol/carv-id-sdk.git"},"homepage":"https://carv-id-test.carv.io","main":"./dist/carv-id-tg-sdk.cjs","module":"./dist/carv-id-tg-sdk.mjs","types":"./dist/carv-id-tg-sdk.d.ts","keywords":["carv","carv id","carv id sdk","carv oauth","telegram","sdk"],"scripts":{"dev":"tsup --watch","build":"tsup --dts","publish":"tsup --dts && npm publish --access=public","lint":"eslint \"**/*.ts\""},"devDependencies":{"@carvid/eslint-config":"workspace:*","@carvid/typescript-config":"workspace:*","@carvid/utils":"workspace:*","@types/draggabilly":"^2.1.6","eslint":"^8.57.0","typescript":"^5.3.3"},"dependencies":{"draggabilly":"^3.0.0"},"_id":"@carv_admin/carv-id-tg-sdk@0.0.5","gitHead":"db30adcd41b8e60d0aa6aec905aef987b824e449","description":"<p align=\"center\">   <img src=\"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='64'%20rx='32'%20fill='%23713FFE'/%3e%3crect%20x='1'%20y='1'","bugs":{"url":"https://github.com/carv-protocol/carv-id-sdk/issues"},"_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Xp6Wjp39eR4CEWE7SyTdNWHqJMUKTrRE75/XJaD1swsaFu/EddRImzxlGJ8crPP3DaPgOq5R3JX5vncj6S1u7w==","shasum":"1e04fc62b795b6eba6ab6d49ceaf5bf71ed2d300","tarball":"https://registry.npmjs.org/@carv_admin/carv-id-tg-sdk/-/carv-id-tg-sdk-0.0.5.tgz","fileCount":8,"unpackedSize":107825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADamveYfSjvIDU/gh8gPmZqvUOUz6SzCH18Kc8lTC72AiEA0Xy+hrPSFjqWV6D4hw8jICDpJGTGbf/P6YBqIQeKmfA="}]},"_npmUser":{"name":"carv_admin","email":"infra@carv.io"},"directories":{},"maintainers":[{"name":"carv_admin","email":"infra@carv.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/carv-id-tg-sdk_0.0.5_1735213744638_0.12749769447120807"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-09T12:45:48.855Z","modified":"2024-12-26T11:49:05.046Z","0.0.0":"2024-12-09T12:45:49.100Z","0.0.1":"2024-12-09T12:58:34.658Z","0.0.2":"2024-12-09T13:29:44.960Z","0.0.3":"2024-12-09T13:32:51.964Z","0.0.4":"2024-12-09T13:54:11.890Z","0.0.5":"2024-12-26T11:49:04.860Z"},"bugs":{"url":"https://github.com/carv-protocol/carv-id-sdk/issues"},"license":"MIT","homepage":"https://carv-id-test.carv.io","keywords":["carv","carv id","carv id sdk","carv oauth","telegram","sdk"],"repository":{"type":"git","url":"git+https://github.com/carv-protocol/carv-id-sdk.git"},"description":"<p align=\"center\">   <img src=\"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='64'%20rx='32'%20fill='%23713FFE'/%3e%3crect%20x='1'%20y='1'","maintainers":[{"name":"carv_admin","email":"infra@carv.io"}],"readme":"<p align=\"center\">\n  <img src=\"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='64'%20rx='32'%20fill='%23713FFE'/%3e%3crect%20x='1'%20y='1'%20width='62'%20height='62'%20rx='31'%20stroke='black'%20stroke-opacity='0.1'%20stroke-width='2'/%3e%3cpath%20d='M38.9118%2042.0725L49%2032.0743L38.9626%2021.9833L29.0324%2012L19.0158%2022.0701L28.9461%2032.0534L19%2042.0526L28.8945%2052L38.9118%2042.0725Z'%20fill='white'/%3e%3c/svg%3e\" style=\"width:100px;\" alt=\"CARV ID logo\" />\n</p>\n<h1 align=\"center\">CARV ID SDK</h1>\n\n\nThe SDK for CARV ID ecosystem. (Only Telegram is supported.)\n\n- CARV ID SDK\n- CARV ID SDK Widget\n\n## 🎾 Demo\n\n - [CARV ID SDK Demo](https://carv-id-test.carv.io/)\n\n<br/>\n\n## 📒 Memo\n\n-  carv-id-demo（Telegram demo）: [https://t.me/BabyChinBot/carv_id_demo](https://t.me/BabyChinBot/carv_id_demo)\n-  carv-id-dev (carv-id-app@dev): [https://t.me/carv_identity_dev_bot/carv_id](https://t.me/carv_identity_dev_bot/carv_id)\n-  carv-id（carv-id-app@prod）: [https://t.me/carv_identity_bot/carv_id](https://t.me/carv_identity_bot/carv_id)\n\n<br/>\n\n## 💊 Usage\n\n#### 1、UMD\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@carv_admin/carv-id-tg-sdk@latest/dist/carv-id-tg-sdk.umd.js\" defer></script>\n\n<script>\n window.onload = function () {\n  const CarvIdInstance = new CarvIdSDK.CarvId({\n    showWidget: true,\n    authorizeConfig: {\n      client_id: \"0a17299349c4b3e57bc8c25581b01bd0ec80c279\",\n      client_secret:\n        \"871cc95ca5a54866492bb052e0d487799e21a5c5896b7cd2ecbe813876a4b286\",\n      response_type: \"code\",\n      state: \"test app state\",\n      scope: \"carv_id_basic_read email_basic_read evm_address_basic_read\",\n      redirect_uri: \"https://t.me/BabyChinBot/carv_id_demo\"\n    }\n  });\n  console.log(CarvIdInstance, \"CARV ID SDK initialized\");\n}\n</script>\n```\n\n#### 2、ES Module\n\n```bash\npnpm add @carv_admin/carv-id-tg-sdk\n```\n\n```typescript\nimport {\n  CarvId,\n  Enum_Env,\n  Enum_CarvIdTheme,\n  Enum_CarvIdIconPlacement,\n} from \"@carv_admin/carv-id-tg-sdk\";\n\nwindow.onload = function() => {\n  const CarvIdInstance = new CarvId({\n    env: Enum_Env.DEV,\n    theme: Enum_CarvIdTheme.LIGHT,\n    showWidget: true,\n    widgetOptions: {\n      size: \"60px\",\n      placement: Enum_CarvIdIconPlacement.BOTTOM_RIGHT\n    },\n    onLoad: (data) => {\n      console.log(\"onLoad\", data);\n    },\n    onAuthSuccess: (data) => {\n      console.log(\"onAuthSuccess\", data);\n    },\n    onAuthFailed: (data) => {\n      console.log(\"onAuthFailed\", data);\n    }\n  });\n  console.log(CarvIdInstance, \"CARV ID SDK initialized\");\n}\n```\n\n<br/>\n\n## 🧩 Methods\n\n```typescript\n// Initialize\nconst carvIdInstance = new CarvId(Options: I_CarvIdOptions)\n```\n\n#### 🔹 authenticateUser: () => void\n\n```ts\n// Start authorization process\ncarvIdInstance.authenticateUser();\n```\n\n#### 🔹 openIdentityPage: () => void\n\n```ts\n// Open CARV ID identity page\ncarvIdInstance.openIdentityPage();\n```\n#### 🔹 handleAuthCallback: Promise<I_AuthenticateResponse>\n\n```ts\n// Callback triggered after authorization\nCarvIdInstance.handleAuthCallback().then((res: I_AuthenticateResponse) => {\n  // {code: string, state: string}\n  console.log(res, \"handleAuthCallback\");\n  if (res.code) {\n    console.log(\"Authorize success\", res.code);\n  }\n});\n```\n\n<br/>\n\n## 🛠️ Options\n\n#### 🔸 I_CarvIdOptions\n\n```typescript\ninterface I_CarvIdOptions {\n  env?: Enum_Env;\n  theme?: Enum_CarvIdTheme;\n  showWidget?: boolean;\n  widgetOptions?: I_CarvIdWidgetOptions;\n  authorizeConfig: I_CarvIdAuthorizeConfig;\n  onLoad?: (data: CarvId) => void;\n  onAuthSuccess?: (data: I_AuthenticateResponse) => void;\n  onAuthFailed?: (data: I_AuthenticateResponse) => void;\n}\n```\n\n| Field            | Description                                            | Type                                   | Default                |\n| ---------------- | ------------------------------------------------------ | -------------------------------------- | ---------------------- |\n| env              | Environment                                            | Enum_Env                               | Enum_Env.PROD           |\n| theme            | Theme mode                                             | Enum_CarvIdTheme                       | Enum_CarvIdTheme.LIGHT |\n| showWidget       | Show widget icon                                       | Boolean                                | false                  |\n| widgetOptions    | Widget options                                         | I_CarvIdWidgetOptions                  | undefined              |\n| authorizeConfig  | Configuration for authorization                        | I_CarvIdAuthorizeConfig                | undefined              |\n| onLoad           | Callback that triggered after SDK initialized          | (data: CarvId) => void                 | undefined              |\n| onAuthSuccess    | Callback that triggered after authorization successful | (data: I_AuthenticateResponse) => void | undefined              |\n| onAuthFailed     | Callback that triggered after authorization failed     | (data: I_AuthenticateResponse) => void | undefined              |\n\n#### 🔸 I_CarvIdWidgetOptions\n\n``` typescript\ninterface I_CarvIdWidgetOptions {\n  theme?: Enum_CarvIdTheme;\n  size?: string;\n  className?: string;\n  draggable?: boolean;\n  watchResize?: boolean;\n  rememberPosition?: boolean;\n  placement?: Enum_CarvIdIconPlacement;\n  offset?: I_CarvIdIconPlacementOffset;\n}\n```\n\n| Field            | Description                     | Type                        | Default                                      |\n| ---------------- | ------------------------------- | --------------------------- | -------------------------------------------- |\n| theme            | Theme mode                      | Enum_CarvIdTheme            | Enum_CarvIdTheme.LIGHT                       |\n| size             | Icon size                       | String                      | \"48px\"                                       |\n| placement        | Icon placement                  | Enum_CarvIdIconPlacement    | Enum_CarvIdIconPlacement.BOTTOM_RIGHT        |\n| offset           | The offset config for placement | I_CarvIdIconPlacementOffset | { left: 20, right: 20, top: 40, bottom: 60 } |\n| className        | The class name of widget        | String                      | \"\"                                           |\n| draggable        | Enable drag interaction         | Boolean                     | true                                         |\n| watchResize      | Watch the resize event          | Boolean                     | true                                         |\n| rememberPosition | Remember icon position          | Boolean                     | true                                         |\n\n<br/>\n\n## 🧿 Turborepo\n\nThis project generated from a [Turborepo](https://turbo.build/repo/docs) starter. Run the following command to init a new project:\n\n```bash\nnpx create-turbo@latest -e with-vite\n```\n\nAnd this project includes the following packages and apps:\n\n#### - Apps\n\n- `carv-id-sdk-demo`: used for testing SDK\n\n#### - Packages\n\n- `docs`: a vanilla [vite](https://vitejs.dev) ts app\n- `web`: another vanilla [vite](https://vitejs.dev) ts app\n- `@carvid/carv-id-tg-sdk`: a CARV ID core component\n- `@carvid/utils`: a stub utility library shared by all applications\n- `@carvid/eslint-config`: shared `eslint` configurations\n- `@carvid/typescript-config`: `tsconfig.json`s used throughout the monorepo\n\n<br/>\n\n## 🦴 Utils\n\nThis Turborepo has some additional tools already setup for you:\n\n- [TypeScript](https://www.typescriptlang.org/) for static type checking\n- [ESLint](https://eslint.org/) for code linting\n- [Prettier](https://prettier.io) for code formatting\n\n<br/>\n","readmeFilename":"README.md"}