@ondewo/csi-client-typescript
is a compiled version of the ONDEWO CSI API using the ONDEWO PROTO COMPILER. Here you can find the CSI API documentation.
ONDEWO APIs use Protocol Buffers version 3 (proto3) as their Interface Definition Language (IDL) to define the API interface and the structure of the payload messages. The same interface definition is used for gRPC versions of the API in all languages.
Using NPM:
npm i --save @ondewo/csi-client-typescript
Using GitHub:
git clone https://github.com/ondewo/ondewo-csi-client-typescript.git ## Clone repository
cd ondewo-csi-client-typescript ## Change into repo-directoy
make setup_developer_environment_locally ## Install dependencies
npm
├── api
│ ├── google
│ │ ├── api
│ │ │ ├── annotations_pb.d.ts
│ │ │ └── annotations_pb.js
│ │ ├── protobuf
│ │ │ ├── any_pb.d.ts
│ │ │ ├── any_pb.js
│ │ │ ├── empty_pb.d.ts
│ │ │ ├── empty_pb.js
│ │ │ ├── field_mask_pb.d.ts
│ │ │ ├── field_mask_pb.js
│ │ │ ├── struct_pb.d.ts
│ │ │ ├── struct_pb.js
│ │ │ ├── timestamp_pb.d.ts
│ │ │ └── timestamp_pb.js
│ │ ├── rpc
│ │ │ ├── status_pb.d.ts
│ │ │ └── status_pb.js
│ │ └── type
│ │ ├── latlng_pb.d.ts
│ │ └── latlng_pb.js
│ └── ondewo
│ ├── csi
│ │ ├── conversation_grpc_web_pb.d.ts
│ │ ├── conversation_grpc_web_pb.js
│ │ ├── conversation_pb.d.ts
│ │ └── conversation_pb.js
│ ├── nlu
│ │ ├── agent_grpc_web_pb.d.ts
│ │ ├── agent_grpc_web_pb.js
│ │ ├── agent_pb.d.ts
│ │ ├── agent_pb.js
│ │ ├── aiservices_grpc_web_pb.d.ts
│ │ ├── aiservices_grpc_web_pb.js
│ │ ├── aiservices_pb.d.ts
│ │ ├── aiservices_pb.js
│ │ ├── ...
│ ├── s2t
│ │ ├── speech-to-text_grpc_web_pb.d.ts
│ │ ├── speech-to-text_grpc_web_pb.js
│ │ ├── speech-to-text_pb.d.ts
│ │ └── speech-to-text_pb.js
│ └── t2s
│ ├── text-to-speech_grpc_web_pb.d.ts
│ ├── text-to-speech_grpc_web_pb.js
│ ├── text-to-speech_pb.d.ts
│ └── text-to-speech_pb.js
├── LICENSE
├── package.json
├── public-api.d.ts
└── README.md
The make build
command is dependent on 2 repositories
and their specified version
:
- ondewo-csi-api --
CSI_API_GIT_BRANCH
inMakefile
- ondewo-proto-compiler --
ONDEWO_PROTO_COMPILER_GIT_BRANCH
inMakefile
Other than creating the proto-code, build
also installs the dev-dependencies
and changes the owner of the proto-code-files from root
to the current user
.
In the case that some google .protos
were not automatically generated, exists the option of creating a proto-deps.txt
inside the src
folder. There, import statements can be written the same way as they are in .proto
files.
import "google/api/http.proto"; //Example
<---- New Line
⚠️ The last line in theproto-deps.txt
needs to be an empty new line, otherwise the compiler will fail
The repository is published to GitHub and NPM by the Automated Release Process of ONDEWO.
TODO after PR merge:
-
checkout master
git checkout master
-
pull the newest state
git pull
-
Adjust
ONDEWO_CSI_VERSION
in theMakefile
-
Add new Release Notes to
src/RELEASE.md
in following format:## Release ONDEWO CSI Typescript Client X.X.X <----- Beginning of Notes ...<NOTES>... ***************** <----- End of Notes
-
release
make ondewo_release
The release process can be divided into 6 Steps:
build
specified version of theondewo-csi-api
commit and push
all changes in code resulting from thebuild
- Publish the created
npm
folder tonpmjs.com
- Create and push the
release branch
e.g.release/1.3.20
- Create and push the
release tag
e.g.1.3.20
- Create a new
Release
on GitHub
⚠️ The Release Automation checks if the build has created all the proto-code files, but it does not check the code-integrity. Please build and test the generated code prior to starting the release process.