Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
@tenfold/client-sdk
Advanced tools
Typescript type definitions for client-side integration libraries
This repo contains typescript types and definitions to help guiding client side integration development. As integrations will be developed as standalone typescript libraries, they will not have access to Tenfold's source code, and this SDK should act as a bridge between the two parties. The interfaces exposed here will provide information about the methods that expected by the Tenfold App, what parameters each method will receive and what is the return type expected for each.
One important thing to notice is that the types exposed by this repo is a mix of types that are exclusive to client integrations and types re-exported by other libraries. The reason for re-exporting them is to simplify development purpose and not force developers to add multiple libraries in your package json when only interested in type definitions.
The client integration descriptor is the core of the integration. The ClientIntegrationDescriptor type is what is exported by your library and represents the concrete instance that is consumed by the Tenfold app. It is the contract that is used by Tenfold App and the integration to talk to each other. While this section will not go into specific details of each method that needs to be implemented by the integration descriptor (you can see it in the JSDocs in the ClientIntegrationDescriptor itself), it will provide a high level overview of how the integration happens. In summary,
ClientIntegrationDescriptor
onBindDependencies
in the integration to optionally bind more dependencies in the container (see the Dependency Injection section below)For details regarding Dependency Injection such as how to use it, what information is available out of the box in the projected injector, etc, see the dependency-injection guide.
The integration being developed needs to take care of two fundamental aspects:
Passing commands from the Tenfold app over to the provider: This is handled by the adaptors that will be implemented by the integration. The methods on each adaptor will be invoked by the Tenfold App in different occasions with different parameters, and usually represent an action taken by the agent (such as an interaction control - answer, transfer, hangup, etc). See Adaptors for an in-depth explanation on how adaptors work and how they should behave
Passing incoming data from the provider to Tenfold: your integration code should handle any events published by the provider, transform those events by the formatted required by Tenfold and forward those events to the Tenfold App. See Events for a thorough explanation on that.
Other relevant aspects to keep in mind while creating your integration are:
For an example on how to use the client sdk, see https://github.com/tenfold/client-integration-template
FAQs
Typescript type definitions for client-side integration libraries
We found that @tenfold/client-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.