feat: add examples to create workflow and use sdk

This commit is contained in:
Abhishek Kumar 2026-04-24 14:09:24 +05:30
parent 16587fd7e1
commit f041e6030d
18 changed files with 1038 additions and 7 deletions

View file

@ -1,6 +1,6 @@
[project]
name = "dograh-sdk"
version = "0.1.2"
version = "0.1.3"
description = "Typed builder for Dograh voice-AI workflows"
readme = "README.md"
requires-python = ">=3.10"

View file

@ -12,6 +12,7 @@ from __future__ import annotations
from typing import Any
from dograh_sdk._generated_models import (
CreateWorkflowRequest,
CredentialResponse,
DocumentListResponseSchema,
InitiateCallRequest,
@ -28,6 +29,11 @@ from dograh_sdk._generated_models import (
class _GeneratedClient:
# `DograhClient.__init__` installs `self._request` (see client.py).
def create_workflow(self, *, body: CreateWorkflowRequest) -> WorkflowResponse:
"""Create a new workflow from a workflow definition."""
data = self._request("POST", "/workflow/create/definition", json=body.model_dump(mode="json", exclude_none=True))
return WorkflowResponse.model_validate(data)
def get_node_type(self, name: str) -> NodeSpec:
"""Fetch a single node spec by name."""
data = self._request("GET", f"/node-types/{name}")

View file

@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: dograh-openapi-XXXXXX.json.oPRfLAwVZP
# timestamp: 2026-04-21T02:15:12+00:00
# filename: dograh-openapi-XXXXXX.json.YcuMTcSn5P
# timestamp: 2026-04-24T08:26:45+00:00
from __future__ import annotations
@ -16,6 +16,11 @@ class CallDispositionCodes(BaseModel):
)
class CreateWorkflowRequest(BaseModel):
name: Annotated[str, Field(title='Name')]
workflow_definition: Annotated[dict[str, Any], Field(title='Workflow Definition')]
class CreatedByResponse(BaseModel):
"""
Response schema for the user who created a tool.