Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ curl -fsSL https://raw.githubusercontent.com/speakeasy-api/speakeasy/main/instal
rmdir samples || true
mkdir samples

npm install
npm install -g ts-node
npm install --ignore-scripts
npm install -g ts-node --ignore-scripts
npm link
npm link iris-sdk
TS_CONFIG_CONTENT=$(cat <<EOL
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/examples/node_modules
.env
.env.local
.env.*.local
/mcp-server
/bin
/.eslintcache
Expand Down
42 changes: 24 additions & 18 deletions .speakeasy/gen.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@ id: 9b971081-3d7e-4f4a-97fe-f59e6a07657d
management:
docChecksum: 0e2bfa208d98ff70011a9d69b38e42cb
docVersion: 0.1.0
speakeasyVersion: 1.546.1
generationVersion: 2.604.2
releaseVersion: 0.2.1
configChecksum: f7620bedecfe0806bd0d6319356aa63f
speakeasyVersion: 1.666.2
generationVersion: 2.768.1
releaseVersion: 0.3.0
configChecksum: bbb172d2413126723b7e0f662c016534
repoURL: https://github.com/iris-networks/iris-sdk.git
installationURL: https://github.com/iris-networks/iris-sdk
features:
typescript:
acceptHeaders: 2.81.2
additionalDependencies: 0.1.0
additionalProperties: 0.1.1
constsAndDefaults: 0.1.11
core: 3.21.8
additionalProperties: 0.1.2
constsAndDefaults: 0.1.12
core: 3.26.14
defaultEnabledRetries: 0.1.0
devContainers: 2.90.0
devContainers: 2.90.1
downloadStreams: 0.1.1
enumUnions: 0.1.0
envVarSecurityUsage: 0.1.2
globalSecurityCallbacks: 0.1.0
globalServerURLs: 2.82.5
groups: 2.81.2
mcpServer: 0.9.2
globalServerURLs: 2.83.0
groups: 2.81.3
mcpServer: 0.9.3
nameOverrides: 2.81.2
responseFormat: 0.2.3
retries: 2.83.0
sdkHooks: 0.2.0
sdkHooks: 0.4.0
uploadStreams: 0.1.0
generatedFiles:
- .devcontainer/README.md
Expand Down Expand Up @@ -132,13 +132,16 @@ generatedFiles:
- docs/sdks/files/README.md
- docs/sdks/humanlayer/README.md
- docs/sdks/irisartifacts/README.md
- docs/sdks/irissdk/README.md
- docs/sdks/operators/README.md
- docs/sdks/rpa/README.md
- docs/sdks/video/README.md
- docs/sdks/videoediting/README.md
- docs/sdks/videos/README.md
- eslint.config.mjs
- examples/.env.template
- examples/README.md
- examples/configGet.example.ts
- examples/package.json
- jsr.json
- package.json
- src/core.ts
Expand Down Expand Up @@ -287,6 +290,8 @@ generatedFiles:
- src/models/errors/apierror.ts
- src/models/errors/httpclienterrors.ts
- src/models/errors/index.ts
- src/models/errors/irissdkerror.ts
- src/models/errors/responsevalidationerror.ts
- src/models/errors/sdkvalidationerror.ts
- src/models/operations/approverequest.ts
- src/models/operations/deletefile.ts
Expand Down Expand Up @@ -335,6 +340,7 @@ generatedFiles:
- src/types/operations.ts
- src/types/rfcdate.ts
- src/types/streams.ts
- src/types/unrecognized.ts
- tsconfig.json
examples:
getConfig:
Expand Down Expand Up @@ -395,7 +401,7 @@ examples:
speakeasy-default-get-current-session-video-data:
responses:
"200":
application/json: {"success": true, "videoData": {"frames": ["data:image/png;base64,iVBORw0KGgo..."], "captions": [{"timestamp": 1651234567890, "conversation": {}, "frameIndex": 0}]}}
application/json: {"success": true, "videoData": {"frames": ["base64string1", "base64string2"], "captions": [{"timestamp": 1651234567890, "conversation": {}, "frameIndex": 0}]}}
getRecordingVideoData:
speakeasy-default-get-recording-video-data:
parameters:
Expand Down Expand Up @@ -461,7 +467,7 @@ examples:
id: "<id>"
frameIndex: 2353.28
requestBody:
application/json: {"text": "New caption text here"}
application/json: {"caption": {}, "text": "New caption text here"}
responses:
"200":
application/json: {"success": true}
Expand All @@ -481,7 +487,7 @@ examples:
startExecution:
speakeasy-default-start-execution:
requestBody:
application/json: {"recordingId": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6", "actionDelay": 1500}
application/json: {"recordingId": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6", "actionDelay": 1500, "parameterOverrides": {}}
responses:
"201":
application/json: {"executionId": "rpa_1695872345678", "recordingId": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6", "status": "running", "currentActionIndex": 3, "totalActions": 15, "startedAt": 1695872345678, "operatorType": "browser", "errorMessage": "Failed to execute click action: Element not found"}
Expand Down Expand Up @@ -519,7 +525,7 @@ examples:
uploadVideo:
speakeasy-default-upload-video:
requestBody:
multipart/form-data: {"file": {"": "x-file: example.file"}}
multipart/form-data: {"file": "x-file: example.file"}
responses:
"200":
application/json: {"analysisId": "1682598432741", "originalVideo": "recording-1682598432741.mp4", "processedVideo": "processed-recording-1682598432741.mp4", "message": "Video uploaded and analyzed successfully"}
Expand Down Expand Up @@ -549,7 +555,7 @@ examples:
uploadFile:
speakeasy-default-upload-file:
requestBody:
multipart/form-data: {"file": {"": "x-file: example.file"}}
multipart/form-data: {"file": "x-file: example.file"}
responses:
"200":
application/json: {"fileId": "1682598432741", "fileName": "document-1682598432741.pdf", "filePath": "/Users/username/.iris/files/document-1682598432741.pdf", "fileUrl": "/api/files/download/document-1682598432741.pdf", "fileSize": 24560, "mimeType": "application/pdf", "message": "File uploaded successfully"}
Expand Down
34 changes: 31 additions & 3 deletions .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ generation:
maintainOpenAPIOrder: true
usageSnippets:
optionalPropertyRendering: withExample
sdkInitStyle: constructor
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
Expand All @@ -16,25 +17,43 @@ generation:
securityFeb2025: false
sharedErrorComponentsApr2025: false
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: true
oAuth2ClientCredentialsEnabled: false
oAuth2PasswordEnabled: false
hoistGlobalSecurity: true
schemas:
allOfMergeStrategy: shallowMerge
requestBodyFieldName: ""
tests:
generateTests: true
generateNewTests: false
skipResponseBodyAssertions: false
typescript:
version: 0.2.1
version: 0.3.0
acceptHeaderEnum: true
additionalDependencies:
dependencies: {}
devDependencies: {}
peerDependencies: {}
additionalPackageJSON: {}
additionalScripts: {}
alwaysIncludeInboundAndOutbound: false
author: Speakeasy
baseErrorName: IrisSDKError
clientServerStatusCodesAsErrors: true
constFieldsAlwaysOptional: false
defaultErrorName: APIError
enableCustomCodeRegions: false
enableMCPServer: true
enableReactQuery: false
enumFormat: union
envVarPrefix: IRISSDK
exportZodModelNamespace: false
flattenGlobalSecurity: true
flatteningOrder: parameters-first
formStringArrayEncodeMode: encoded-string
forwardCompatibleEnumsByDefault: false
forwardCompatibleUnionsByDefault: "false"
generateExamples: true
imports:
option: openapi
paths:
Expand All @@ -43,13 +62,22 @@ typescript:
operations: models/operations
shared: models/components
webhooks: models/webhooks
inferUnionDiscriminators: true
inputModelSuffix: input
jsonpath: legacy
laxMode: strict
maxMethodParams: 0
methodArguments: require-security-and-request
modelPropertyCasing: camel
moduleFormat: commonjs
multipartArrayFormat: legacy
outputModelSuffix: output
packageName: iris-sdk
preApplyUnionDiscriminators: true
responseFormat: flat
sseFlatResponse: false
templateVersion: v2
unionStrategy: left-to-right
usageSDKInitImports: []
useIndexModules: true
zodVersion: v3
14 changes: 7 additions & 7 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
speakeasyVersion: 1.546.1
speakeasyVersion: 1.666.2
sources:
Zenobia Intelligent Automation Platform API:
sourceNamespace: zenobia-intelligent-automation-platform-api
sourceRevisionDigest: sha256:a15d5da61636ad8a483d17cd642ec2f118a0dfe06cf0fffc513162d3cbc5867e
sourceBlobDigest: sha256:0c8d7bd4c35bf5b9ffa4817986135614df2bde763eaece2e154c49865c8ef6c5
sourceRevisionDigest: sha256:5691d4cf2db75dd9126cd0d8b6c05c473d64a9d4cdf4750f63464098dad55d61
sourceBlobDigest: sha256:ea2887935810946fbc2bda55b3cdf90fdcbf3a01cc47ae45ecf5556872db5cd8
tags:
- latest
- speakeasy-sdk-regen-1747505453
- speakeasy-sdk-regen-1752111786
- 0.1.0
targets:
iris-sdk:
source: Zenobia Intelligent Automation Platform API
sourceNamespace: zenobia-intelligent-automation-platform-api
sourceRevisionDigest: sha256:a15d5da61636ad8a483d17cd642ec2f118a0dfe06cf0fffc513162d3cbc5867e
sourceBlobDigest: sha256:0c8d7bd4c35bf5b9ffa4817986135614df2bde763eaece2e154c49865c8ef6c5
sourceRevisionDigest: sha256:5691d4cf2db75dd9126cd0d8b6c05c473d64a9d4cdf4750f63464098dad55d61
sourceBlobDigest: sha256:ea2887935810946fbc2bda55b3cdf90fdcbf3a01cc47ae45ecf5556872db5cd8
codeSamplesNamespace: zenobia-intelligent-automation-platform-api-typescript-code-samples
codeSamplesRevisionDigest: sha256:9ce126259d3c32437284a0100c9f9c3a8bdfcd54a630d6642b752ccaa7f356ba
codeSamplesRevisionDigest: sha256:b5c0efb7dd999be0d0ef0e9aa84431202142d5942b21cd5433b06e872147780a
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
Expand Down
27 changes: 5 additions & 22 deletions FUNCTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,36 +21,19 @@ specific category of applications.
```typescript
import { IrisSDKCore } from "iris-sdk/core.js";
import { configGet } from "iris-sdk/funcs/configGet.js";
import { SDKValidationError } from "iris-sdk/models/errors/sdkvalidationerror.js";

// Use `IrisSDKCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const irisSDK = new IrisSDKCore();

async function run() {
const res = await configGet(irisSDK);

switch (true) {
case res.ok:
// The success case will be handled outside of the switch block
break;
case res.error instanceof SDKValidationError:
// Pretty-print validation errors.
return console.log(res.error.pretty());
case res.error instanceof Error:
return console.log(res.error);
default:
// TypeScript's type checking will fail on the following line if the above
// cases were not exhaustive.
res.error satisfies never;
throw new Error("Assertion failed: expected error checks to be exhaustive: " + res.error);
if (res.ok) {
const { value: result } = res;
console.log(result);
} else {
console.log("configGet failed:", res.error);
}


const { value: result } = res;

// Handle the result
console.log(result);
}

run();
Expand Down
Loading