@eveai/eve-sdk-for-node 0.0.1 → 0.0.3
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/README.md.bak +510 -0
- package/README.md.orig +510 -0
- package/dist/client.d.mts +110 -0
- package/dist/client.d.ts +110 -0
- package/dist/client.js +292 -0
- package/dist/client.js.map +1 -0
- package/dist/client.mjs +286 -0
- package/dist/client.mjs.map +1 -0
- package/dist/enums/adapter.d.mts +6 -0
- package/dist/enums/adapter.d.ts +6 -0
- package/dist/enums/adapter.js +11 -0
- package/dist/enums/adapter.js.map +1 -0
- package/dist/enums/adapter.mjs +10 -0
- package/dist/enums/adapter.mjs.map +1 -0
- package/dist/enums/attribute-status.d.mts +9 -0
- package/dist/enums/attribute-status.d.ts +9 -0
- package/dist/enums/attribute-status.js +14 -0
- package/dist/enums/attribute-status.js.map +1 -0
- package/dist/enums/attribute-status.mjs +13 -0
- package/dist/enums/attribute-status.mjs.map +1 -0
- package/dist/enums/authentication-factor.d.mts +8 -0
- package/dist/enums/authentication-factor.d.ts +8 -0
- package/dist/enums/authentication-factor.js +13 -0
- package/dist/enums/authentication-factor.js.map +1 -0
- package/dist/enums/authentication-factor.mjs +12 -0
- package/dist/enums/authentication-factor.mjs.map +1 -0
- package/dist/enums/authenticator-type.d.mts +5 -0
- package/dist/enums/authenticator-type.d.ts +5 -0
- package/dist/enums/authenticator-type.js +10 -0
- package/dist/enums/authenticator-type.js.map +1 -0
- package/dist/enums/authenticator-type.mjs +9 -0
- package/dist/enums/authenticator-type.mjs.map +1 -0
- package/dist/enums/browser.d.mts +18 -0
- package/dist/enums/browser.d.ts +18 -0
- package/dist/enums/browser.js +23 -0
- package/dist/enums/browser.js.map +1 -0
- package/dist/enums/browser.mjs +22 -0
- package/dist/enums/browser.mjs.map +1 -0
- package/dist/enums/build-runtime.d.mts +71 -0
- package/dist/enums/build-runtime.d.ts +71 -0
- package/dist/enums/build-runtime.js +76 -0
- package/dist/enums/build-runtime.js.map +1 -0
- package/dist/enums/build-runtime.mjs +75 -0
- package/dist/enums/build-runtime.mjs.map +1 -0
- package/dist/enums/column-status.d.mts +9 -0
- package/dist/enums/column-status.d.ts +9 -0
- package/dist/enums/column-status.js +14 -0
- package/dist/enums/column-status.js.map +1 -0
- package/dist/enums/column-status.mjs +13 -0
- package/dist/enums/column-status.mjs.map +1 -0
- package/dist/enums/compression.d.mts +7 -0
- package/dist/enums/compression.d.ts +7 -0
- package/dist/enums/compression.js +12 -0
- package/dist/enums/compression.js.map +1 -0
- package/dist/enums/compression.mjs +11 -0
- package/dist/enums/compression.mjs.map +1 -0
- package/dist/enums/credit-card.d.mts +21 -0
- package/dist/enums/credit-card.d.ts +21 -0
- package/dist/enums/credit-card.js +26 -0
- package/dist/enums/credit-card.js.map +1 -0
- package/dist/enums/credit-card.mjs +25 -0
- package/dist/enums/credit-card.mjs.map +1 -0
- package/dist/enums/database-type.d.mts +6 -0
- package/dist/enums/database-type.d.ts +6 -0
- package/dist/enums/database-type.js +11 -0
- package/dist/enums/database-type.js.map +1 -0
- package/dist/enums/database-type.mjs +10 -0
- package/dist/enums/database-type.mjs.map +1 -0
- package/dist/enums/deployment-download-type.d.mts +6 -0
- package/dist/enums/deployment-download-type.d.ts +6 -0
- package/dist/enums/deployment-download-type.js +11 -0
- package/dist/enums/deployment-download-type.js.map +1 -0
- package/dist/enums/deployment-download-type.mjs +10 -0
- package/dist/enums/deployment-download-type.mjs.map +1 -0
- package/dist/enums/deployment-status.d.mts +9 -0
- package/dist/enums/deployment-status.d.ts +9 -0
- package/dist/enums/deployment-status.js +14 -0
- package/dist/enums/deployment-status.js.map +1 -0
- package/dist/enums/deployment-status.mjs +13 -0
- package/dist/enums/deployment-status.mjs.map +1 -0
- package/dist/enums/execution-method.d.mts +11 -0
- package/dist/enums/execution-method.d.ts +11 -0
- package/dist/enums/execution-method.js +16 -0
- package/dist/enums/execution-method.js.map +1 -0
- package/dist/enums/execution-method.mjs +15 -0
- package/dist/enums/execution-method.mjs.map +1 -0
- package/dist/enums/execution-status.d.mts +9 -0
- package/dist/enums/execution-status.d.ts +9 -0
- package/dist/enums/execution-status.js +14 -0
- package/dist/enums/execution-status.js.map +1 -0
- package/dist/enums/execution-status.mjs +13 -0
- package/dist/enums/execution-status.mjs.map +1 -0
- package/dist/enums/execution-trigger.d.mts +7 -0
- package/dist/enums/execution-trigger.d.ts +7 -0
- package/dist/enums/execution-trigger.js +12 -0
- package/dist/enums/execution-trigger.js.map +1 -0
- package/dist/enums/execution-trigger.mjs +11 -0
- package/dist/enums/execution-trigger.mjs.map +1 -0
- package/dist/enums/flag.d.mts +199 -0
- package/dist/enums/flag.d.ts +199 -0
- package/dist/enums/flag.js +204 -0
- package/dist/enums/flag.js.map +1 -0
- package/dist/enums/flag.mjs +203 -0
- package/dist/enums/flag.mjs.map +1 -0
- package/dist/enums/framework.d.mts +19 -0
- package/dist/enums/framework.d.ts +19 -0
- package/dist/enums/framework.js +24 -0
- package/dist/enums/framework.js.map +1 -0
- package/dist/enums/framework.mjs +23 -0
- package/dist/enums/framework.mjs.map +1 -0
- package/dist/enums/health-antivirus-status.d.mts +7 -0
- package/dist/enums/health-antivirus-status.d.ts +7 -0
- package/dist/enums/health-antivirus-status.js +12 -0
- package/dist/enums/health-antivirus-status.js.map +1 -0
- package/dist/enums/health-antivirus-status.mjs +11 -0
- package/dist/enums/health-antivirus-status.mjs.map +1 -0
- package/dist/enums/health-check-status.d.mts +6 -0
- package/dist/enums/health-check-status.d.ts +6 -0
- package/dist/enums/health-check-status.js +11 -0
- package/dist/enums/health-check-status.js.map +1 -0
- package/dist/enums/health-check-status.mjs +10 -0
- package/dist/enums/health-check-status.mjs.map +1 -0
- package/dist/enums/image-format.d.mts +11 -0
- package/dist/enums/image-format.d.ts +11 -0
- package/dist/enums/image-format.js +16 -0
- package/dist/enums/image-format.js.map +1 -0
- package/dist/enums/image-format.mjs +15 -0
- package/dist/enums/image-format.mjs.map +1 -0
- package/dist/enums/image-gravity.d.mts +13 -0
- package/dist/enums/image-gravity.d.ts +13 -0
- package/dist/enums/image-gravity.js +18 -0
- package/dist/enums/image-gravity.js.map +1 -0
- package/dist/enums/image-gravity.mjs +17 -0
- package/dist/enums/image-gravity.mjs.map +1 -0
- package/dist/enums/index-status.d.mts +9 -0
- package/dist/enums/index-status.d.ts +9 -0
- package/dist/enums/index-status.js +14 -0
- package/dist/enums/index-status.js.map +1 -0
- package/dist/enums/index-status.mjs +13 -0
- package/dist/enums/index-status.mjs.map +1 -0
- package/dist/enums/index-type.d.mts +8 -0
- package/dist/enums/index-type.d.ts +8 -0
- package/dist/enums/index-type.js +13 -0
- package/dist/enums/index-type.js.map +1 -0
- package/dist/enums/index-type.mjs +12 -0
- package/dist/enums/index-type.mjs.map +1 -0
- package/dist/enums/message-priority.d.mts +6 -0
- package/dist/enums/message-priority.d.ts +6 -0
- package/dist/enums/message-priority.js +11 -0
- package/dist/enums/message-priority.js.map +1 -0
- package/dist/enums/message-priority.mjs +10 -0
- package/dist/enums/message-priority.mjs.map +1 -0
- package/dist/enums/message-status.d.mts +9 -0
- package/dist/enums/message-status.d.ts +9 -0
- package/dist/enums/message-status.js +14 -0
- package/dist/enums/message-status.js.map +1 -0
- package/dist/enums/message-status.mjs +13 -0
- package/dist/enums/message-status.mjs.map +1 -0
- package/dist/enums/messaging-provider-type.d.mts +7 -0
- package/dist/enums/messaging-provider-type.d.ts +7 -0
- package/dist/enums/messaging-provider-type.js +12 -0
- package/dist/enums/messaging-provider-type.js.map +1 -0
- package/dist/enums/messaging-provider-type.mjs +11 -0
- package/dist/enums/messaging-provider-type.mjs.map +1 -0
- package/dist/enums/name.d.mts +16 -0
- package/dist/enums/name.d.ts +16 -0
- package/dist/enums/name.js +21 -0
- package/dist/enums/name.js.map +1 -0
- package/dist/enums/name.mjs +20 -0
- package/dist/enums/name.mjs.map +1 -0
- package/dist/enums/o-auth-provider.d.mts +44 -0
- package/dist/enums/o-auth-provider.d.ts +44 -0
- package/dist/enums/o-auth-provider.js +49 -0
- package/dist/enums/o-auth-provider.js.map +1 -0
- package/dist/enums/o-auth-provider.mjs +48 -0
- package/dist/enums/o-auth-provider.mjs.map +1 -0
- package/dist/enums/output.d.mts +11 -0
- package/dist/enums/output.d.ts +11 -0
- package/dist/enums/output.js +16 -0
- package/dist/enums/output.js.map +1 -0
- package/dist/enums/output.mjs +15 -0
- package/dist/enums/output.mjs.map +1 -0
- package/dist/enums/password-hash.d.mts +15 -0
- package/dist/enums/password-hash.d.ts +15 -0
- package/dist/enums/password-hash.js +20 -0
- package/dist/enums/password-hash.js.map +1 -0
- package/dist/enums/password-hash.mjs +19 -0
- package/dist/enums/password-hash.mjs.map +1 -0
- package/dist/enums/relation-mutate.d.mts +7 -0
- package/dist/enums/relation-mutate.d.ts +7 -0
- package/dist/enums/relation-mutate.js +12 -0
- package/dist/enums/relation-mutate.js.map +1 -0
- package/dist/enums/relation-mutate.mjs +11 -0
- package/dist/enums/relation-mutate.mjs.map +1 -0
- package/dist/enums/relationship-type.d.mts +8 -0
- package/dist/enums/relationship-type.d.ts +8 -0
- package/dist/enums/relationship-type.js +13 -0
- package/dist/enums/relationship-type.js.map +1 -0
- package/dist/enums/relationship-type.mjs +12 -0
- package/dist/enums/relationship-type.mjs.map +1 -0
- package/dist/enums/runtime.d.mts +71 -0
- package/dist/enums/runtime.d.ts +71 -0
- package/dist/enums/runtime.js +76 -0
- package/dist/enums/runtime.js.map +1 -0
- package/dist/enums/runtime.mjs +75 -0
- package/dist/enums/runtime.mjs.map +1 -0
- package/dist/enums/smtp-encryption.d.mts +7 -0
- package/dist/enums/smtp-encryption.d.ts +7 -0
- package/dist/enums/smtp-encryption.js +12 -0
- package/dist/enums/smtp-encryption.js.map +1 -0
- package/dist/enums/smtp-encryption.mjs +11 -0
- package/dist/enums/smtp-encryption.mjs.map +1 -0
- package/dist/enums/template-reference-type.d.mts +7 -0
- package/dist/enums/template-reference-type.d.ts +7 -0
- package/dist/enums/template-reference-type.js +12 -0
- package/dist/enums/template-reference-type.js.map +1 -0
- package/dist/enums/template-reference-type.mjs +11 -0
- package/dist/enums/template-reference-type.mjs.map +1 -0
- package/dist/enums/theme.d.mts +6 -0
- package/dist/enums/theme.d.ts +6 -0
- package/dist/enums/theme.js +11 -0
- package/dist/enums/theme.js.map +1 -0
- package/dist/enums/theme.mjs +10 -0
- package/dist/enums/theme.mjs.map +1 -0
- package/dist/enums/timezone.d.mts +423 -0
- package/dist/enums/timezone.d.ts +423 -0
- package/dist/enums/timezone.js +428 -0
- package/dist/enums/timezone.js.map +1 -0
- package/dist/enums/timezone.mjs +427 -0
- package/dist/enums/timezone.mjs.map +1 -0
- package/dist/enums/vcs-reference-type.d.mts +7 -0
- package/dist/enums/vcs-reference-type.d.ts +7 -0
- package/dist/enums/vcs-reference-type.js +12 -0
- package/dist/enums/vcs-reference-type.js.map +1 -0
- package/dist/enums/vcs-reference-type.mjs +11 -0
- package/dist/enums/vcs-reference-type.mjs.map +1 -0
- package/dist/id.d.mts +22 -0
- package/dist/id.d.ts +22 -0
- package/dist/id.js +45 -0
- package/dist/id.js.map +1 -0
- package/dist/id.mjs +44 -0
- package/dist/id.mjs.map +1 -0
- package/dist/index.d.mts +72 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.js +369 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +72 -0
- package/dist/index.mjs.map +1 -0
- package/dist/inputFile.d.mts +9 -0
- package/dist/inputFile.d.ts +9 -0
- package/dist/inputFile.js +23 -0
- package/dist/inputFile.js.map +1 -0
- package/dist/inputFile.mjs +22 -0
- package/dist/inputFile.mjs.map +1 -0
- package/dist/models.d.mts +3829 -0
- package/dist/models.d.ts +3829 -0
- package/dist/models.js +4 -0
- package/dist/models.js.map +1 -0
- package/dist/models.mjs +3 -0
- package/dist/models.mjs.map +1 -0
- package/dist/operator.d.mts +181 -0
- package/dist/operator.d.ts +181 -0
- package/dist/operator.js +268 -0
- package/dist/operator.js.map +1 -0
- package/dist/operator.mjs +266 -0
- package/dist/operator.mjs.map +1 -0
- package/dist/permission.d.mts +45 -0
- package/dist/permission.d.ts +45 -0
- package/dist/permission.js +56 -0
- package/dist/permission.js.map +1 -0
- package/dist/permission.mjs +55 -0
- package/dist/permission.mjs.map +1 -0
- package/dist/query.d.mts +391 -0
- package/dist/query.d.ts +391 -0
- package/dist/query.js +402 -0
- package/dist/query.js.map +1 -0
- package/dist/query.mjs +401 -0
- package/dist/query.mjs.map +1 -0
- package/dist/role.d.mts +72 -0
- package/dist/role.d.ts +72 -0
- package/dist/role.js +96 -0
- package/dist/role.js.map +1 -0
- package/dist/role.mjs +95 -0
- package/dist/role.mjs.map +1 -0
- package/dist/services/account.d.mts +1011 -0
- package/dist/services/account.d.ts +1011 -0
- package/dist/services/account.js +1596 -0
- package/dist/services/account.js.map +1 -0
- package/dist/services/account.mjs +1595 -0
- package/dist/services/account.mjs.map +1 -0
- package/dist/services/auth.d.mts +52 -0
- package/dist/services/auth.d.ts +52 -0
- package/dist/services/auth.js +85 -0
- package/dist/services/auth.js.map +1 -0
- package/dist/services/auth.mjs +84 -0
- package/dist/services/auth.mjs.map +1 -0
- package/dist/services/avatars.d.mts +334 -0
- package/dist/services/avatars.d.ts +334 -0
- package/dist/services/avatars.js +405 -0
- package/dist/services/avatars.js.map +1 -0
- package/dist/services/avatars.mjs +404 -0
- package/dist/services/avatars.mjs.map +1 -0
- package/dist/services/comment.d.mts +92 -0
- package/dist/services/comment.d.ts +92 -0
- package/dist/services/comment.js +175 -0
- package/dist/services/comment.js.map +1 -0
- package/dist/services/comment.mjs +174 -0
- package/dist/services/comment.mjs.map +1 -0
- package/dist/services/databases.d.mts +1991 -0
- package/dist/services/databases.d.ts +1991 -0
- package/dist/services/databases.js +2957 -0
- package/dist/services/databases.js.map +1 -0
- package/dist/services/databases.mjs +2956 -0
- package/dist/services/databases.mjs.map +1 -0
- package/dist/services/eveai-chat.d.mts +118 -0
- package/dist/services/eveai-chat.d.ts +118 -0
- package/dist/services/eveai-chat.js +115 -0
- package/dist/services/eveai-chat.js.map +1 -0
- package/dist/services/eveai-chat.mjs +114 -0
- package/dist/services/eveai-chat.mjs.map +1 -0
- package/dist/services/eveai-payment.d.mts +145 -0
- package/dist/services/eveai-payment.d.ts +145 -0
- package/dist/services/eveai-payment.js +132 -0
- package/dist/services/eveai-payment.js.map +1 -0
- package/dist/services/eveai-payment.mjs +131 -0
- package/dist/services/eveai-payment.mjs.map +1 -0
- package/dist/services/eveai-provider-discovery.d.mts +126 -0
- package/dist/services/eveai-provider-discovery.d.ts +126 -0
- package/dist/services/eveai-provider-discovery.js +96 -0
- package/dist/services/eveai-provider-discovery.js.map +1 -0
- package/dist/services/eveai-provider-discovery.mjs +95 -0
- package/dist/services/eveai-provider-discovery.mjs.map +1 -0
- package/dist/services/eveai-task.d.mts +137 -0
- package/dist/services/eveai-task.d.ts +137 -0
- package/dist/services/eveai-task.js +143 -0
- package/dist/services/eveai-task.js.map +1 -0
- package/dist/services/eveai-task.mjs +142 -0
- package/dist/services/eveai-task.mjs.map +1 -0
- package/dist/services/favorite.d.mts +68 -0
- package/dist/services/favorite.d.ts +68 -0
- package/dist/services/favorite.js +127 -0
- package/dist/services/favorite.js.map +1 -0
- package/dist/services/favorite.mjs +126 -0
- package/dist/services/favorite.mjs.map +1 -0
- package/dist/services/feed.d.mts +62 -0
- package/dist/services/feed.d.ts +62 -0
- package/dist/services/feed.js +76 -0
- package/dist/services/feed.js.map +1 -0
- package/dist/services/feed.mjs +75 -0
- package/dist/services/feed.mjs.map +1 -0
- package/dist/services/functions.d.mts +749 -0
- package/dist/services/functions.d.ts +749 -0
- package/dist/services/functions.js +1109 -0
- package/dist/services/functions.js.map +1 -0
- package/dist/services/functions.mjs +1108 -0
- package/dist/services/functions.mjs.map +1 -0
- package/dist/services/graphql.d.mts +58 -0
- package/dist/services/graphql.d.ts +58 -0
- package/dist/services/graphql.js +73 -0
- package/dist/services/graphql.js.map +1 -0
- package/dist/services/graphql.mjs +72 -0
- package/dist/services/graphql.mjs.map +1 -0
- package/dist/services/gugotik-storage.d.mts +34 -0
- package/dist/services/gugotik-storage.d.ts +34 -0
- package/dist/services/gugotik-storage.js +40 -0
- package/dist/services/gugotik-storage.js.map +1 -0
- package/dist/services/gugotik-storage.mjs +39 -0
- package/dist/services/gugotik-storage.mjs.map +1 -0
- package/dist/services/health.d.mts +351 -0
- package/dist/services/health.d.ts +351 -0
- package/dist/services/health.js +503 -0
- package/dist/services/health.js.map +1 -0
- package/dist/services/health.mjs +502 -0
- package/dist/services/health.mjs.map +1 -0
- package/dist/services/locale.d.mts +78 -0
- package/dist/services/locale.d.ts +78 -0
- package/dist/services/locale.js +157 -0
- package/dist/services/locale.js.map +1 -0
- package/dist/services/locale.mjs +156 -0
- package/dist/services/locale.mjs.map +1 -0
- package/dist/services/message.d.mts +60 -0
- package/dist/services/message.d.ts +60 -0
- package/dist/services/message.js +98 -0
- package/dist/services/message.js.map +1 -0
- package/dist/services/message.mjs +97 -0
- package/dist/services/message.mjs.map +1 -0
- package/dist/services/messaging.d.mts +2003 -0
- package/dist/services/messaging.d.ts +2003 -0
- package/dist/services/messaging.js +3054 -0
- package/dist/services/messaging.js.map +1 -0
- package/dist/services/messaging.mjs +3053 -0
- package/dist/services/messaging.mjs.map +1 -0
- package/dist/services/publish.d.mts +70 -0
- package/dist/services/publish.d.ts +70 -0
- package/dist/services/publish.js +154 -0
- package/dist/services/publish.js.map +1 -0
- package/dist/services/publish.mjs +153 -0
- package/dist/services/publish.mjs.map +1 -0
- package/dist/services/relation.d.mts +113 -0
- package/dist/services/relation.d.ts +113 -0
- package/dist/services/relation.js +239 -0
- package/dist/services/relation.js.map +1 -0
- package/dist/services/relation.mjs +238 -0
- package/dist/services/relation.mjs.map +1 -0
- package/dist/services/sites.d.mts +705 -0
- package/dist/services/sites.d.ts +705 -0
- package/dist/services/sites.js +1059 -0
- package/dist/services/sites.js.map +1 -0
- package/dist/services/sites.mjs +1058 -0
- package/dist/services/sites.mjs.map +1 -0
- package/dist/services/storage.d.mts +435 -0
- package/dist/services/storage.d.ts +435 -0
- package/dist/services/storage.js +609 -0
- package/dist/services/storage.js.map +1 -0
- package/dist/services/storage.mjs +608 -0
- package/dist/services/storage.mjs.map +1 -0
- package/dist/services/tables-db.d.mts +1934 -0
- package/dist/services/tables-db.d.ts +1934 -0
- package/dist/services/tables-db.js +2954 -0
- package/dist/services/tables-db.js.map +1 -0
- package/dist/services/tables-db.mjs +2953 -0
- package/dist/services/tables-db.mjs.map +1 -0
- package/dist/services/teams.d.mts +355 -0
- package/dist/services/teams.d.ts +355 -0
- package/dist/services/teams.js +475 -0
- package/dist/services/teams.js.map +1 -0
- package/dist/services/teams.mjs +474 -0
- package/dist/services/teams.mjs.map +1 -0
- package/dist/services/tokens.d.mts +133 -0
- package/dist/services/tokens.d.ts +133 -0
- package/dist/services/tokens.js +169 -0
- package/dist/services/tokens.js.map +1 -0
- package/dist/services/tokens.mjs +168 -0
- package/dist/services/tokens.mjs.map +1 -0
- package/dist/services/user.d.mts +66 -0
- package/dist/services/user.d.ts +66 -0
- package/dist/services/user.js +101 -0
- package/dist/services/user.js.map +1 -0
- package/dist/services/user.mjs +100 -0
- package/dist/services/user.mjs.map +1 -0
- package/dist/services/users.d.mts +1176 -0
- package/dist/services/users.d.ts +1176 -0
- package/dist/services/users.js +1742 -0
- package/dist/services/users.js.map +1 -0
- package/dist/services/users.mjs +1741 -0
- package/dist/services/users.mjs.map +1 -0
- package/package.json +15 -1
package/README.md.bak
ADDED
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
# Eve.AI Node.js SDK
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+
|
|
6
|
+
**Official Node.js SDK for Eve.AI - Artificial General Intelligence Platform**
|
|
7
|
+
|
|
8
|
+
> This is the Node.js SDK for integrating with Eve.AI backend from your Node.js server-side code.
|
|
9
|
+
|
|
10
|
+
Eve.AI is an Artificial General Intelligence Platform backend developed in Go, Python, JavaScript, and other languages. This SDK provides a simple and intuitive interface to interact with all Eve.AI backend APIs including authentication, user management, video feed, publishing, comments, favorites, relations, and messaging.
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- 🔐 **Authentication** - User login and registration
|
|
15
|
+
- 👤 **User Management** - Get user information, update profiles (avatar, background, signature)
|
|
16
|
+
- 📹 **Video Feed** - Browse recommended videos, get video by ID
|
|
17
|
+
- 📤 **Publishing** - Upload and publish videos, delete videos
|
|
18
|
+
- 💬 **Comments** - Add, delete, list, and count comments
|
|
19
|
+
- ❤️ **Favorites** - Like/unlike videos and manage favorites
|
|
20
|
+
- 👥 **Relations** - Follow/unfollow users, get followers and friends
|
|
21
|
+
- 💌 **Messaging** - Send and receive direct messages
|
|
22
|
+
- 📁 **File Storage** - Upload images directly for avatars and backgrounds
|
|
23
|
+
- 🎯 **TypeScript Support** - Full TypeScript definitions included
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
To install via [NPM](https://www.npmjs.com/):
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install @eveai/eve-sdk-for-node --save
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Or with Yarn:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
yarn add @eveai/eve-sdk-for-node
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Getting Started
|
|
40
|
+
|
|
41
|
+
### Initialize the SDK
|
|
42
|
+
|
|
43
|
+
<<<<<<< HEAD
|
|
44
|
+
Initialize your SDK with your GuGoTik backend endpoint (default: `https://api.eve.ai/v1`):
|
|
45
|
+
=======
|
|
46
|
+
Initialize your SDK with your Eve.AI backend endpoint (default: `http://api.eve.ai`):
|
|
47
|
+
>>>>>>> 836ad7e6f9efd8ec1892686c48347c8a25fcf8f4
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
const { Client, Auth } = require('@eveai/eve-sdk-for-node');
|
|
51
|
+
|
|
52
|
+
const client = new Client();
|
|
53
|
+
|
|
54
|
+
client
|
|
55
|
+
<<<<<<< HEAD
|
|
56
|
+
.setEndpoint('https://api.eve.ai/v1') // Your GuGoTik backend endpoint
|
|
57
|
+
=======
|
|
58
|
+
.setEndpoint('https://api.eve.ai') // Your Eve.AI backend endpoint
|
|
59
|
+
>>>>>>> 836ad7e6f9efd8ec1892686c48347c8a25fcf8f4
|
|
60
|
+
.setSelfSigned(true); // Use only in dev mode with self-signed SSL cert
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Authentication
|
|
64
|
+
|
|
65
|
+
#### Register a New User
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
const { Client, Auth } = require('@eveai/eve-sdk-for-node');
|
|
69
|
+
|
|
70
|
+
const client = new Client()
|
|
71
|
+
<<<<<<< HEAD
|
|
72
|
+
.setEndpoint('https://api.eve.ai/v1');
|
|
73
|
+
=======
|
|
74
|
+
.setEndpoint('https://api.eve.ai');
|
|
75
|
+
>>>>>>> 836ad7e6f9efd8ec1892686c48347c8a25fcf8f4
|
|
76
|
+
|
|
77
|
+
const auth = new Auth(client);
|
|
78
|
+
|
|
79
|
+
try {
|
|
80
|
+
const response = await auth.register('username', 'password');
|
|
81
|
+
console.log('User registered:', response);
|
|
82
|
+
// Response: { status_code: 0, status_msg: 'success', user_id: 123, token: 'xxx' }
|
|
83
|
+
|
|
84
|
+
// Set token for authenticated requests
|
|
85
|
+
client.setToken(response.token);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
console.error('Registration failed:', error);
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### Login
|
|
92
|
+
|
|
93
|
+
```javascript
|
|
94
|
+
const { Client, Auth } = require('@eveai/eve-sdk-for-node');
|
|
95
|
+
|
|
96
|
+
const client = new Client()
|
|
97
|
+
<<<<<<< HEAD
|
|
98
|
+
.setEndpoint('https://api.eve.ai/v1');
|
|
99
|
+
=======
|
|
100
|
+
.setEndpoint('https://api.eve.ai');
|
|
101
|
+
>>>>>>> 836ad7e6f9efd8ec1892686c48347c8a25fcf8f4
|
|
102
|
+
|
|
103
|
+
const auth = new Auth(client);
|
|
104
|
+
|
|
105
|
+
try {
|
|
106
|
+
const response = await auth.login('username', 'password');
|
|
107
|
+
console.log('Login successful:', response);
|
|
108
|
+
// Response: { status_code: 0, status_msg: 'success', user_id: 123, token: 'xxx' }
|
|
109
|
+
|
|
110
|
+
// Set token for authenticated requests
|
|
111
|
+
client.setToken(response.token);
|
|
112
|
+
} catch (error) {
|
|
113
|
+
console.error('Login failed:', error);
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### User Management
|
|
118
|
+
|
|
119
|
+
#### Get User Info
|
|
120
|
+
|
|
121
|
+
```javascript
|
|
122
|
+
const { UserService } = require('@eveai/eve-sdk-for-node');
|
|
123
|
+
|
|
124
|
+
const userService = new UserService(client);
|
|
125
|
+
|
|
126
|
+
try {
|
|
127
|
+
const user = await userService.getUser(
|
|
128
|
+
123, // userId - User to query
|
|
129
|
+
456, // actorId - Current user
|
|
130
|
+
'token' // Authentication token
|
|
131
|
+
);
|
|
132
|
+
console.log('User info:', user);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error('Failed to get user:', error);
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### Update User Profile
|
|
139
|
+
|
|
140
|
+
```javascript
|
|
141
|
+
const { UserService } = require('@eveai/eve-sdk-for-node');
|
|
142
|
+
|
|
143
|
+
const userService = new UserService(client);
|
|
144
|
+
|
|
145
|
+
try {
|
|
146
|
+
const response = await userService.updateProfile(
|
|
147
|
+
123, // userId
|
|
148
|
+
'token', // Authentication token
|
|
149
|
+
'https://example.com/avatar.jpg', // avatar (optional)
|
|
150
|
+
'https://example.com/background.jpg', // backgroundImage (optional)
|
|
151
|
+
'Hello, I am a Eve.AI user!' // signature (optional)
|
|
152
|
+
);
|
|
153
|
+
console.log('Profile updated:', response);
|
|
154
|
+
} catch (error) {
|
|
155
|
+
console.error('Failed to update profile:', error);
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Video Feed
|
|
160
|
+
|
|
161
|
+
#### List Videos
|
|
162
|
+
|
|
163
|
+
```javascript
|
|
164
|
+
const { Feed } = require('@eveai/eve-sdk-for-node');
|
|
165
|
+
|
|
166
|
+
const feed = new Feed(client);
|
|
167
|
+
|
|
168
|
+
try {
|
|
169
|
+
const videos = await feed.listVideos(
|
|
170
|
+
undefined, // latestTime (optional)
|
|
171
|
+
123 // actorId (optional)
|
|
172
|
+
);
|
|
173
|
+
console.log('Video feed:', videos.video_list);
|
|
174
|
+
} catch (error) {
|
|
175
|
+
console.error('Failed to get feed:', error);
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
#### Get Video By ID
|
|
180
|
+
|
|
181
|
+
```javascript
|
|
182
|
+
const { Feed } = require('@eveai/eve-sdk-for-node');
|
|
183
|
+
|
|
184
|
+
const feed = new Feed(client);
|
|
185
|
+
|
|
186
|
+
try {
|
|
187
|
+
const response = await feed.getVideoById(
|
|
188
|
+
456, // videoId
|
|
189
|
+
123 // actorId (optional)
|
|
190
|
+
);
|
|
191
|
+
console.log('Video details:', response.video);
|
|
192
|
+
} catch (error) {
|
|
193
|
+
console.error('Failed to get video:', error);
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Publishing Videos
|
|
198
|
+
|
|
199
|
+
#### Publish a Video
|
|
200
|
+
|
|
201
|
+
The SDK uses **multipart/form-data** (FormData) to upload videos to the backend. The video file and title are sent in the form body, while authentication parameters (token and actor_id) are sent as query parameters.
|
|
202
|
+
|
|
203
|
+
```javascript
|
|
204
|
+
const { Publish } = require('@eveai/eve-sdk-for-node');
|
|
205
|
+
const fs = require('fs');
|
|
206
|
+
|
|
207
|
+
const publish = new Publish(client);
|
|
208
|
+
|
|
209
|
+
try {
|
|
210
|
+
const videoData = fs.readFileSync('video.mp4');
|
|
211
|
+
|
|
212
|
+
const response = await publish.publishVideo(
|
|
213
|
+
123, // actorId
|
|
214
|
+
'token', // Authentication token
|
|
215
|
+
videoData, // Video file data (Buffer, Blob, or File)
|
|
216
|
+
'My Video' // Video title
|
|
217
|
+
);
|
|
218
|
+
console.log('Video published:', response);
|
|
219
|
+
} catch (error) {
|
|
220
|
+
console.error('Failed to publish video:', error);
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**How it works:**
|
|
225
|
+
- The SDK automatically converts Buffer/Blob to File for FormData compatibility
|
|
226
|
+
- Query parameters: `token`, `actor_id`
|
|
227
|
+
- Form body fields: `data` (video file), `title` (video title)
|
|
228
|
+
- Content-Type: `multipart/form-data` (automatically set by the SDK)
|
|
229
|
+
|
|
230
|
+
#### Publish a Video with Chunked Upload and Progress Tracking
|
|
231
|
+
|
|
232
|
+
For large video files (>5MB), the SDK automatically uses chunked upload. You can also track upload progress:
|
|
233
|
+
|
|
234
|
+
```javascript
|
|
235
|
+
const { Publish } = require('@eveai/eve-sdk-for-node');
|
|
236
|
+
const fs = require('fs');
|
|
237
|
+
|
|
238
|
+
const publish = new Publish(client);
|
|
239
|
+
|
|
240
|
+
try {
|
|
241
|
+
const videoData = fs.readFileSync('large-video.mp4');
|
|
242
|
+
|
|
243
|
+
const response = await publish.publishVideo(
|
|
244
|
+
123, // actorId
|
|
245
|
+
'token', // Authentication token
|
|
246
|
+
videoData, // Video file data
|
|
247
|
+
'My Video', // Video title
|
|
248
|
+
(progress) => {
|
|
249
|
+
// Progress callback
|
|
250
|
+
console.log(`Upload progress: ${progress.progress}%`);
|
|
251
|
+
console.log(`Uploaded: ${progress.sizeUploaded} bytes`);
|
|
252
|
+
console.log(`Chunks: ${progress.chunksUploaded}/${progress.chunksTotal}`);
|
|
253
|
+
}
|
|
254
|
+
);
|
|
255
|
+
console.log('Video published:', response);
|
|
256
|
+
} catch (error) {
|
|
257
|
+
console.error('Failed to publish video:', error);
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Features:**
|
|
262
|
+
- Uses **FormData** for multipart/form-data uploads
|
|
263
|
+
- Automatic chunked upload for files larger than 5MB (configurable via `Client.CHUNK_SIZE`)
|
|
264
|
+
- Backend support for chunked uploads with Redis-based temporary storage
|
|
265
|
+
- Progress tracking with detailed upload statistics from both client and server
|
|
266
|
+
- Supports Buffer, Blob, and File types
|
|
267
|
+
- Automatic retry and resume capability through chunk-based uploads
|
|
268
|
+
- Query parameters and form body fields are properly separated
|
|
269
|
+
- Server returns `upload_id`, `chunks_total`, and `chunks_uploaded` for progress tracking
|
|
270
|
+
|
|
271
|
+
**How Chunked Upload Works:**
|
|
272
|
+
1. SDK splits large files into 5MB chunks
|
|
273
|
+
2. Each chunk is sent with a `Content-Range` header (e.g., `bytes 0-5242879/10485760`)
|
|
274
|
+
3. Backend stores chunks temporarily in Redis with 1-hour expiration
|
|
275
|
+
4. Backend tracks upload progress and returns `upload_id` for subsequent chunks
|
|
276
|
+
5. When all chunks are received, backend assembles them and creates the video
|
|
277
|
+
6. Chunks are automatically cleaned up from Redis after successful assembly
|
|
278
|
+
|
|
279
|
+
#### Delete a Video
|
|
280
|
+
|
|
281
|
+
```javascript
|
|
282
|
+
const { Publish } = require('@eveai/eve-sdk-for-node');
|
|
283
|
+
|
|
284
|
+
const publish = new Publish(client);
|
|
285
|
+
|
|
286
|
+
try {
|
|
287
|
+
const response = await publish.deleteVideo(
|
|
288
|
+
123, // actorId (must be video owner)
|
|
289
|
+
456, // videoId
|
|
290
|
+
'token' // Authentication token
|
|
291
|
+
);
|
|
292
|
+
console.log('Video deleted:', response);
|
|
293
|
+
} catch (error) {
|
|
294
|
+
console.error('Failed to delete video:', error);
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Comments
|
|
299
|
+
|
|
300
|
+
```javascript
|
|
301
|
+
const { CommentService } = require('@eveai/eve-sdk-for-node');
|
|
302
|
+
|
|
303
|
+
const commentService = new CommentService(client);
|
|
304
|
+
|
|
305
|
+
// Add a comment
|
|
306
|
+
try {
|
|
307
|
+
const comment = await commentService.addComment(
|
|
308
|
+
456, // videoId
|
|
309
|
+
123, // actorId
|
|
310
|
+
'token', // Authentication token
|
|
311
|
+
'Great video!' // Comment text
|
|
312
|
+
);
|
|
313
|
+
console.log('Comment added:', comment);
|
|
314
|
+
} catch (error) {
|
|
315
|
+
console.error('Failed to add comment:', error);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// List comments
|
|
319
|
+
try {
|
|
320
|
+
const comments = await commentService.listComments(456, 123, 'token');
|
|
321
|
+
console.log('Comments:', comments.comment_list);
|
|
322
|
+
} catch (error) {
|
|
323
|
+
console.error('Failed to list comments:', error);
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Favorites
|
|
328
|
+
|
|
329
|
+
```javascript
|
|
330
|
+
const { Favorite } = require('@eveai/eve-sdk-for-node');
|
|
331
|
+
|
|
332
|
+
const favorite = new Favorite(client);
|
|
333
|
+
|
|
334
|
+
// Like a video
|
|
335
|
+
try {
|
|
336
|
+
await favorite.likeVideo(456, 123, 'token');
|
|
337
|
+
console.log('Video liked');
|
|
338
|
+
} catch (error) {
|
|
339
|
+
console.error('Failed to like video:', error);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// List favorite videos
|
|
343
|
+
try {
|
|
344
|
+
const favorites = await favorite.listFavorites(123, 123, 'token');
|
|
345
|
+
console.log('Favorite videos:', favorites.video_list);
|
|
346
|
+
} catch (error) {
|
|
347
|
+
console.error('Failed to list favorites:', error);
|
|
348
|
+
}
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Relations (Follow/Unfollow)
|
|
352
|
+
|
|
353
|
+
```javascript
|
|
354
|
+
const { Relation } = require('@eveai/eve-sdk-for-node');
|
|
355
|
+
|
|
356
|
+
const relation = new Relation(client);
|
|
357
|
+
|
|
358
|
+
// Follow a user
|
|
359
|
+
try {
|
|
360
|
+
await relation.follow(789, 123, 'token');
|
|
361
|
+
console.log('User followed');
|
|
362
|
+
} catch (error) {
|
|
363
|
+
console.error('Failed to follow user:', error);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
// Get followers
|
|
367
|
+
try {
|
|
368
|
+
const followers = await relation.getFollowerList(123, 123, 'token');
|
|
369
|
+
console.log('Followers:', followers.user_list);
|
|
370
|
+
} catch (error) {
|
|
371
|
+
console.error('Failed to get followers:', error);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Check if following
|
|
375
|
+
try {
|
|
376
|
+
const isFollowing = await relation.isFollowing(789, 123, 'token');
|
|
377
|
+
console.log('Is following:', isFollowing.result);
|
|
378
|
+
} catch (error) {
|
|
379
|
+
console.error('Failed to check follow status:', error);
|
|
380
|
+
}
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Messaging
|
|
384
|
+
|
|
385
|
+
```javascript
|
|
386
|
+
const { MessageService } = require('@eveai/eve-sdk-for-node');
|
|
387
|
+
|
|
388
|
+
const messageService = new MessageService(client);
|
|
389
|
+
|
|
390
|
+
// Send a message
|
|
391
|
+
try {
|
|
392
|
+
await messageService.sendMessage(
|
|
393
|
+
789, // toUserId
|
|
394
|
+
123, // actorId
|
|
395
|
+
'token', // Authentication token
|
|
396
|
+
'Hello there!' // Message content
|
|
397
|
+
);
|
|
398
|
+
console.log('Message sent');
|
|
399
|
+
} catch (error) {
|
|
400
|
+
console.error('Failed to send message:', error);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// List messages
|
|
404
|
+
try {
|
|
405
|
+
const messages = await messageService.listMessages(789, 123, 'token');
|
|
406
|
+
console.log('Messages:', messages.message_list);
|
|
407
|
+
} catch (error) {
|
|
408
|
+
console.error('Failed to list messages:', error);
|
|
409
|
+
}
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### File Storage
|
|
413
|
+
|
|
414
|
+
Upload images directly to Eve.AI storage:
|
|
415
|
+
|
|
416
|
+
```javascript
|
|
417
|
+
const { GuGoTikStorage } = require('@eveai/eve-sdk-for-node');
|
|
418
|
+
const fs = require('fs');
|
|
419
|
+
|
|
420
|
+
const storage = new GuGoTikStorage(client);
|
|
421
|
+
|
|
422
|
+
try {
|
|
423
|
+
const imageData = fs.readFileSync('avatar.jpg');
|
|
424
|
+
|
|
425
|
+
const response = await storage.uploadFile(imageData);
|
|
426
|
+
console.log('File uploaded:', response.file_url);
|
|
427
|
+
// Use the file_url for user avatar, background image, etc.
|
|
428
|
+
} catch (error) {
|
|
429
|
+
console.error('Failed to upload file:', error);
|
|
430
|
+
}
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
## Error Handling
|
|
434
|
+
|
|
435
|
+
The SDK raises `AppwriteException` with `message`, `code`, `type`, and `response` properties. Handle errors appropriately:
|
|
436
|
+
|
|
437
|
+
```javascript
|
|
438
|
+
const { Auth, AppwriteException } = require('@eveai/eve-sdk-for-node');
|
|
439
|
+
|
|
440
|
+
const auth = new Auth(client);
|
|
441
|
+
|
|
442
|
+
try {
|
|
443
|
+
const response = await auth.login('username', 'password');
|
|
444
|
+
console.log('Login successful:', response);
|
|
445
|
+
} catch (error) {
|
|
446
|
+
if (error instanceof AppwriteException) {
|
|
447
|
+
console.error('Error code:', error.code);
|
|
448
|
+
console.error('Error message:', error.message);
|
|
449
|
+
console.error('Error response:', error.response);
|
|
450
|
+
} else {
|
|
451
|
+
console.error('Unexpected error:', error);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
## TypeScript Support
|
|
457
|
+
|
|
458
|
+
The SDK is written in TypeScript and includes full type definitions:
|
|
459
|
+
|
|
460
|
+
```typescript
|
|
461
|
+
import { Client, Auth, Feed, Video, User } from '@eveai/eve-sdk-for-node';
|
|
462
|
+
|
|
463
|
+
const client = new Client()
|
|
464
|
+
<<<<<<< HEAD
|
|
465
|
+
.setEndpoint('https://api.eve.ai/v1');
|
|
466
|
+
=======
|
|
467
|
+
.setEndpoint('https://api.eve.ai');
|
|
468
|
+
>>>>>>> 836ad7e6f9efd8ec1892686c48347c8a25fcf8f4
|
|
469
|
+
|
|
470
|
+
const auth = new Auth(client);
|
|
471
|
+
const feed = new Feed(client);
|
|
472
|
+
|
|
473
|
+
// Full type safety
|
|
474
|
+
const loginResponse = await auth.login('username', 'password');
|
|
475
|
+
const videos = await feed.listVideos();
|
|
476
|
+
|
|
477
|
+
videos.video_list?.forEach((video: Video) => {
|
|
478
|
+
console.log(`Video: ${video.title} by ${video.author.name}`);
|
|
479
|
+
});
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
## API Reference
|
|
483
|
+
|
|
484
|
+
### Services
|
|
485
|
+
|
|
486
|
+
- **Auth** - User authentication (login, register)
|
|
487
|
+
- **UserService** - User management (get user info, update profile)
|
|
488
|
+
- **Feed** - Video feed (list videos, get video by ID)
|
|
489
|
+
- **Publish** - Video publishing (publish video, delete video, list published videos)
|
|
490
|
+
- **CommentService** - Comment management
|
|
491
|
+
- **Favorite** - Like/favorite videos
|
|
492
|
+
- **Relation** - Follow/unfollow users
|
|
493
|
+
- **MessageService** - Direct messaging
|
|
494
|
+
- **GuGoTikStorage** - File storage (upload images)
|
|
495
|
+
|
|
496
|
+
For detailed API documentation, see the [Eve.AI Backend Documentation](https://github.com/EveAGI/backend).
|
|
497
|
+
|
|
498
|
+
## Learn More
|
|
499
|
+
|
|
500
|
+
- 📖 [Eve.AI SDK for Node.js Repository](https://github.com/EveAGI/@eveai/eve-sdk-for-node)
|
|
501
|
+
- 🏗️ [Architecture Documentation](https://github.com/EveAGI/backend/blob/main/README.md)
|
|
502
|
+
- 🐛 [Report Issues](https://github.com/EveAGI/backend/issues)
|
|
503
|
+
|
|
504
|
+
## Contribution
|
|
505
|
+
|
|
506
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
507
|
+
|
|
508
|
+
## License
|
|
509
|
+
|
|
510
|
+
Please see the [BSD-3-Clause license](LICENSE) file for more information.
|