Skip to content

Commit b08636f

Browse files
agtravesoclaude
andcommitted
Add missing API endpoints and ProgrammingLanguage type
- Add ProgrammingLanguage type alias and use it across all interfaces - Add Team, UpdateTeamInput, ErrorHandlerConfig/Input types - Add ProgrammingLanguageManifest, UpdateTeamDependenciesInput types - Add getTeam, updateTeam methods - Add getTeamDependencies, updateTeamDependencies, installTeamDependencies, discardTeamDependenciesInstallation methods - Add getProcessDependencies, updateProcessDependencies methods Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 3274a99 commit b08636f

2 files changed

Lines changed: 112 additions & 6 deletions

File tree

src/api/types.ts

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { Readable } from "stream";
22

3+
export type ProgrammingLanguage = "JAVASCRIPT" | "PYTHON";
4+
35
export interface YepCodeApiConfig {
46
apiHost?: string;
57
timeout?: number;
@@ -15,7 +17,7 @@ export interface CreateProcessInput {
1517
slug?: string;
1618
description?: string;
1719
readme?: string;
18-
programmingLanguage?: "JAVASCRIPT" | "PYTHON";
20+
programmingLanguage?: ProgrammingLanguage;
1921
sourceCode?: string;
2022
parametersSchema?: string;
2123
webhook?: WebhookInput;
@@ -141,7 +143,7 @@ export interface Process {
141143
[key: string]: any;
142144
};
143145
};
144-
programmingLanguage?: "JAVASCRIPT" | "PYTHON";
146+
programmingLanguage?: ProgrammingLanguage;
145147
sourceCode?: string;
146148
webhook?: ProcessWebhook;
147149
settings?: ProcessSettings;
@@ -279,7 +281,7 @@ export interface WebhookInput {
279281

280282
export interface VersionedProcess {
281283
id: string;
282-
programmingLanguage: "JAVASCRIPT" | "PYTHON";
284+
programmingLanguage: ProgrammingLanguage;
283285
sourceCode: string;
284286
parametersSchema: string;
285287
readme: string;
@@ -330,7 +332,7 @@ export interface VersionedProcessAliasesPaginatedResult {
330332
export interface Module {
331333
id: string;
332334
name: string;
333-
programmingLanguage?: "JAVASCRIPT" | "PYTHON";
335+
programmingLanguage?: ProgrammingLanguage;
334336
sourceCode?: string;
335337
createdBy?: string;
336338
createdAt?: string;
@@ -340,7 +342,7 @@ export interface Module {
340342

341343
export interface CreateModuleInput {
342344
name: string;
343-
programmingLanguage?: "JAVASCRIPT" | "PYTHON";
345+
programmingLanguage?: ProgrammingLanguage;
344346
sourceCode?: string;
345347
script?: {
346348
programmingLanguage?: string;
@@ -367,7 +369,7 @@ export interface ModulesPaginatedResult {
367369

368370
export interface VersionedModule {
369371
id: string;
370-
programmingLanguage: "JAVASCRIPT" | "PYTHON";
372+
programmingLanguage: ProgrammingLanguage;
371373
sourceCode: string;
372374
comment?: string;
373375
createdBy?: string;
@@ -488,3 +490,54 @@ export interface ServiceAccountsListResult {
488490
total: number;
489491
data: ServiceAccount[];
490492
}
493+
494+
/**
495+
* Teams
496+
*/
497+
export interface ErrorHandlerConfig {
498+
processId?: string;
499+
tag?: string;
500+
}
501+
502+
export interface ErrorHandlerConfigInput {
503+
processId?: string;
504+
tag?: string;
505+
}
506+
507+
export interface Team {
508+
slug?: string;
509+
name?: string;
510+
zoneId?: string;
511+
parentTeamSlugs?: string[];
512+
paramsSchemaValidationEnabled?: boolean;
513+
errorHandlerConfig?: ErrorHandlerConfig | null;
514+
createdAt?: string;
515+
}
516+
517+
export interface UpdateTeamInput {
518+
name?: string;
519+
zoneId?: string;
520+
parentTeamSlugs?: string[] | null;
521+
paramsSchemaValidationEnabled?: boolean;
522+
errorHandlerConfig?: ErrorHandlerConfigInput | null;
523+
}
524+
525+
/**
526+
* Dependencies
527+
*/
528+
export interface ProgrammingLanguageManifestInstallation {
529+
status?: "PENDING" | "INSTALLING" | "INSTALLED" | "FAILED";
530+
error?: string;
531+
dependencies?: { [name: string]: string };
532+
}
533+
534+
export interface ProgrammingLanguageManifest {
535+
id?: string;
536+
programmingLanguage?: ProgrammingLanguage;
537+
dependencies?: { [name: string]: string };
538+
nextInstallation?: ProgrammingLanguageManifestInstallation;
539+
}
540+
541+
export interface UpdateTeamDependenciesInput {
542+
dependencies?: { [name: string]: string };
543+
}

src/api/yepcodeApi.ts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ import {
4141
Sandbox,
4242
CreateSandboxInput,
4343
UpdateSandboxInput,
44+
Team,
45+
UpdateTeamInput,
46+
ProgrammingLanguage,
47+
ProgrammingLanguageManifest,
48+
UpdateTeamDependenciesInput,
49+
ProcessManifest,
50+
ProcessManifestInput,
4451
} from "./types";
4552
import { Readable } from "stream";
4653

@@ -816,4 +823,50 @@ export class YepCodeApi {
816823
async deleteServiceAccount(id: string): Promise<void> {
817824
return this.request("DELETE", `/auth/service-accounts/${id}`);
818825
}
826+
827+
// Team endpoints
828+
async getTeam(): Promise<Team> {
829+
return this.request("GET", "/team");
830+
}
831+
832+
async updateTeam(data: UpdateTeamInput): Promise<Team> {
833+
return this.request("PATCH", "/team", { data });
834+
}
835+
836+
// Dependencies endpoints
837+
async getTeamDependencies(
838+
language: ProgrammingLanguage
839+
): Promise<ProgrammingLanguageManifest> {
840+
return this.request("GET", `/dependencies/${language}`);
841+
}
842+
843+
async updateTeamDependencies(
844+
language: ProgrammingLanguage,
845+
data: UpdateTeamDependenciesInput
846+
): Promise<ProgrammingLanguageManifest> {
847+
return this.request("PUT", `/dependencies/${language}`, { data });
848+
}
849+
850+
async installTeamDependencies(language: ProgrammingLanguage): Promise<void> {
851+
return this.request("POST", `/dependencies/${language}/install`);
852+
}
853+
854+
async discardTeamDependenciesInstallation(
855+
language: ProgrammingLanguage
856+
): Promise<ProgrammingLanguageManifest> {
857+
return this.request("DELETE", `/dependencies/${language}/install`);
858+
}
859+
860+
async getProcessDependencies(identifier: string): Promise<ProcessManifest> {
861+
return this.request("GET", `/processes/${identifier}/dependencies`);
862+
}
863+
864+
async updateProcessDependencies(
865+
identifier: string,
866+
data: ProcessManifestInput
867+
): Promise<ProcessManifest> {
868+
return this.request("PUT", `/processes/${identifier}/dependencies`, {
869+
data,
870+
});
871+
}
819872
}

0 commit comments

Comments
 (0)