@zyraxon-ai/protocol 19.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +17525 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +51 -0
- package/dist/api.js.map +1 -0
- package/dist/errors.d.ts +80 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +60 -0
- package/dist/errors.js.map +1 -0
- package/dist/groups/agent.d.ts +92 -0
- package/dist/groups/agent.d.ts.map +1 -0
- package/dist/groups/agent.js +16 -0
- package/dist/groups/agent.js.map +1 -0
- package/dist/groups/command.d.ts +52 -0
- package/dist/groups/command.d.ts.map +1 -0
- package/dist/groups/command.js +21 -0
- package/dist/groups/command.js.map +1 -0
- package/dist/groups/credential.d.ts +24 -0
- package/dist/groups/credential.d.ts.map +1 -0
- package/dist/groups/credential.js +29 -0
- package/dist/groups/credential.js.map +1 -0
- package/dist/groups/event.d.ts +14987 -0
- package/dist/groups/event.d.ts.map +1 -0
- package/dist/groups/event.js +43 -0
- package/dist/groups/event.js.map +1 -0
- package/dist/groups/fs.d.ts +36 -0
- package/dist/groups/fs.d.ts.map +1 -0
- package/dist/groups/fs.js +52 -0
- package/dist/groups/fs.js.map +1 -0
- package/dist/groups/health.d.ts +6 -0
- package/dist/groups/health.d.ts.map +1 -0
- package/dist/groups/health.js +10 -0
- package/dist/groups/health.js.map +1 -0
- package/dist/groups/integration.d.ts +106 -0
- package/dist/groups/integration.d.ts.map +1 -0
- package/dist/groups/integration.js +99 -0
- package/dist/groups/integration.js.map +1 -0
- package/dist/groups/location.d.ts +17 -0
- package/dist/groups/location.d.ts.map +1 -0
- package/dist/groups/location.js +33 -0
- package/dist/groups/location.js.map +1 -0
- package/dist/groups/message.d.ts +398 -0
- package/dist/groups/message.d.ts.map +1 -0
- package/dist/groups/message.js +38 -0
- package/dist/groups/message.js.map +1 -0
- package/dist/groups/model.d.ts +152 -0
- package/dist/groups/model.d.ts.map +1 -0
- package/dist/groups/model.js +23 -0
- package/dist/groups/model.js.map +1 -0
- package/dist/groups/permission.d.ts +154 -0
- package/dist/groups/permission.d.ts.map +1 -0
- package/dist/groups/permission.js +100 -0
- package/dist/groups/permission.js.map +1 -0
- package/dist/groups/project-copy.d.ts +50 -0
- package/dist/groups/project-copy.d.ts.map +1 -0
- package/dist/groups/project-copy.js +45 -0
- package/dist/groups/project-copy.js.map +1 -0
- package/dist/groups/provider.d.ts +157 -0
- package/dist/groups/provider.d.ts.map +1 -0
- package/dist/groups/provider.js +35 -0
- package/dist/groups/provider.js.map +1 -0
- package/dist/groups/pty.d.ts +146 -0
- package/dist/groups/pty.d.ts.map +1 -0
- package/dist/groups/pty.js +113 -0
- package/dist/groups/pty.js.map +1 -0
- package/dist/groups/question.d.ts +93 -0
- package/dist/groups/question.d.ts.map +1 -0
- package/dist/groups/question.js +57 -0
- package/dist/groups/question.js.map +1 -0
- package/dist/groups/reference.d.ts +14 -0
- package/dist/groups/reference.d.ts.map +1 -0
- package/dist/groups/reference.js +21 -0
- package/dist/groups/reference.js.map +1 -0
- package/dist/groups/session.d.ts +7394 -0
- package/dist/groups/session.d.ts.map +1 -0
- package/dist/groups/session.js +281 -0
- package/dist/groups/session.js.map +1 -0
- package/dist/groups/skill.d.ts +19 -0
- package/dist/groups/skill.d.ts.map +1 -0
- package/dist/groups/skill.js +21 -0
- package/dist/groups/skill.js.map +1 -0
- package/dist/middleware/authorization.d.ts +14 -0
- package/dist/middleware/authorization.d.ts.map +1 -0
- package/dist/middleware/authorization.js +7 -0
- package/dist/middleware/authorization.js.map +1 -0
- package/dist/middleware/schema-error.d.ts +14 -0
- package/dist/middleware/schema-error.d.ts.map +1 -0
- package/dist/middleware/schema-error.js +5 -0
- package/dist/middleware/schema-error.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Model } from "@zyraxon-ai/schema/model";
|
|
2
|
+
import { Location } from "@zyraxon-ai/schema/location";
|
|
3
|
+
import { Schema } from "effect";
|
|
4
|
+
import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
|
|
5
|
+
import { ServiceUnavailableError } from "../errors";
|
|
6
|
+
import { LocationQuery, locationQueryOpenApi } from "./location";
|
|
7
|
+
export const ModelGroup = HttpApiGroup.make("server.model")
|
|
8
|
+
.add(HttpApiEndpoint.get("model.list", "/api/model", {
|
|
9
|
+
query: LocationQuery,
|
|
10
|
+
success: Location.response(Schema.Array(Model.Info)),
|
|
11
|
+
error: ServiceUnavailableError,
|
|
12
|
+
})
|
|
13
|
+
.annotateMerge(locationQueryOpenApi)
|
|
14
|
+
.annotateMerge(OpenApi.annotations({
|
|
15
|
+
identifier: "v2.model.list",
|
|
16
|
+
summary: "List models",
|
|
17
|
+
description: "Retrieve available models ordered by release date.",
|
|
18
|
+
})))
|
|
19
|
+
.annotateMerge(OpenApi.annotations({
|
|
20
|
+
title: "models",
|
|
21
|
+
description: "Experimental model routes.",
|
|
22
|
+
}));
|
|
23
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/groups/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEhE,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;KACxD,GAAG,CACF,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE;IAC9C,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,EAAE,uBAAuB;CAC/B,CAAC;KACC,aAAa,CAAC,oBAAoB,CAAC;KACnC,aAAa,CACZ,OAAO,CAAC,WAAW,CAAC;IAClB,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,oDAAoD;CAClE,CAAC,CACH,CACJ;KACA,aAAa,CACZ,OAAO,CAAC,WAAW,CAAC;IAClB,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,4BAA4B;CAC1C,CAAC,CACH,CAAA"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Location } from "@zyraxon-ai/schema/location";
|
|
2
|
+
import { Context, Schema } from "effect";
|
|
3
|
+
import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/unstable/httpapi";
|
|
4
|
+
import { PermissionNotFoundError, SessionNotFoundError } from "../errors";
|
|
5
|
+
export declare const makePermissionGroup: <LocationId extends HttpApiMiddleware.AnyId, LocationService, SessionLocationId extends HttpApiMiddleware.AnyId, SessionLocationService>(locationMiddleware: Context.Key<LocationId, LocationService>, sessionLocationMiddleware: Context.Key<SessionLocationId, SessionLocationService>) => HttpApiGroup.HttpApiGroup<"server.permission", HttpApiEndpoint.HttpApiEndpoint<"permission.request.list", "GET", "/api/permission/request", HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
6
|
+
readonly location: Schema.optional<Schema.Struct<{
|
|
7
|
+
readonly directory: Schema.optional<Schema.String>;
|
|
8
|
+
readonly workspace: Schema.optional<Schema.String>;
|
|
9
|
+
}>>;
|
|
10
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
11
|
+
readonly location: typeof Location.Info;
|
|
12
|
+
readonly data: Schema.$Array<Schema.Struct<{
|
|
13
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
14
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
15
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
16
|
+
};
|
|
17
|
+
readonly action: Schema.String;
|
|
18
|
+
readonly resources: Schema.$Array<Schema.String>;
|
|
19
|
+
readonly save: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
|
|
20
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
21
|
+
readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
|
|
22
|
+
readonly type: Schema.Literal<"tool">;
|
|
23
|
+
readonly messageID: Schema.String;
|
|
24
|
+
readonly callID: Schema.String;
|
|
25
|
+
}>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
|
|
26
|
+
readonly type: Schema.Literal<"tool">;
|
|
27
|
+
readonly messageID: Schema.String;
|
|
28
|
+
readonly callID: Schema.String;
|
|
29
|
+
}>]>>, never, never>;
|
|
30
|
+
readonly id: Schema.brand<Schema.String, "PermissionV2.ID"> & {
|
|
31
|
+
create: (id?: string) => string & import("effect/Brand").Brand<"PermissionV2.ID">;
|
|
32
|
+
};
|
|
33
|
+
}>>;
|
|
34
|
+
}>>, HttpApiEndpoint.Json<never>, LocationId, HttpApiMiddleware.Requires<LocationId>> | HttpApiEndpoint.HttpApiEndpoint<"permission.saved.list", "GET", "/api/permission/saved", HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
35
|
+
readonly projectID: Schema.optional<Schema.brand<Schema.String, "Project.ID"> & {
|
|
36
|
+
global: string & import("effect/Brand").Brand<"Project.ID">;
|
|
37
|
+
}>;
|
|
38
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
39
|
+
readonly data: Schema.$Array<Schema.Struct<{
|
|
40
|
+
readonly id: Schema.brand<Schema.String, "PermissionSaved.ID"> & {
|
|
41
|
+
create: () => string & import("effect/Brand").Brand<"PermissionSaved.ID">;
|
|
42
|
+
};
|
|
43
|
+
readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
|
|
44
|
+
global: string & import("effect/Brand").Brand<"Project.ID">;
|
|
45
|
+
};
|
|
46
|
+
readonly action: Schema.String;
|
|
47
|
+
readonly resource: Schema.String;
|
|
48
|
+
}>>;
|
|
49
|
+
}>>, HttpApiEndpoint.Json<never>, LocationId, HttpApiMiddleware.Requires<LocationId>> | HttpApiEndpoint.HttpApiEndpoint<"permission.saved.remove", "DELETE", "/api/permission/saved/:id", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
50
|
+
id: Schema.brand<Schema.String, "PermissionSaved.ID"> & {
|
|
51
|
+
create: () => string & import("effect/Brand").Brand<"PermissionSaved.ID">;
|
|
52
|
+
};
|
|
53
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<HttpApiSchema.NoContent>, HttpApiEndpoint.Json<never>, LocationId, HttpApiMiddleware.Requires<LocationId>> | HttpApiEndpoint.HttpApiEndpoint<"session.permission.create", "POST", "/api/session/:sessionID/permission", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
54
|
+
sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
55
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
56
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
57
|
+
};
|
|
58
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
59
|
+
readonly id: Schema.optional<Schema.brand<Schema.String, "PermissionV2.ID"> & {
|
|
60
|
+
create: (id?: string) => string & import("effect/Brand").Brand<"PermissionV2.ID">;
|
|
61
|
+
}>;
|
|
62
|
+
readonly action: Schema.String;
|
|
63
|
+
readonly resources: Schema.$Array<Schema.String>;
|
|
64
|
+
readonly save: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
|
|
65
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
66
|
+
readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
|
|
67
|
+
readonly type: Schema.Literal<"tool">;
|
|
68
|
+
readonly messageID: Schema.String;
|
|
69
|
+
readonly callID: Schema.String;
|
|
70
|
+
}>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
|
|
71
|
+
readonly type: Schema.Literal<"tool">;
|
|
72
|
+
readonly messageID: Schema.String;
|
|
73
|
+
readonly callID: Schema.String;
|
|
74
|
+
}>]>>, never, never>;
|
|
75
|
+
readonly agent: Schema.optional<Schema.brand<Schema.String, "AgentV2.ID">>;
|
|
76
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
77
|
+
readonly data: Schema.Struct<{
|
|
78
|
+
readonly id: Schema.brand<Schema.String, "PermissionV2.ID"> & {
|
|
79
|
+
create: (id?: string) => string & import("effect/Brand").Brand<"PermissionV2.ID">;
|
|
80
|
+
};
|
|
81
|
+
readonly effect: Schema.Literals<readonly ["allow", "deny", "ask"]>;
|
|
82
|
+
}>;
|
|
83
|
+
}>>, HttpApiEndpoint.Json<typeof SessionNotFoundError>, SessionLocationId, HttpApiMiddleware.Requires<SessionLocationId>> | HttpApiEndpoint.HttpApiEndpoint<"session.permission.list", "GET", "/api/session/:sessionID/permission", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
84
|
+
sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
85
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
86
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
87
|
+
};
|
|
88
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
89
|
+
readonly data: Schema.$Array<Schema.Struct<{
|
|
90
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
91
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
92
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
93
|
+
};
|
|
94
|
+
readonly action: Schema.String;
|
|
95
|
+
readonly resources: Schema.$Array<Schema.String>;
|
|
96
|
+
readonly save: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
|
|
97
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
98
|
+
readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
|
|
99
|
+
readonly type: Schema.Literal<"tool">;
|
|
100
|
+
readonly messageID: Schema.String;
|
|
101
|
+
readonly callID: Schema.String;
|
|
102
|
+
}>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
|
|
103
|
+
readonly type: Schema.Literal<"tool">;
|
|
104
|
+
readonly messageID: Schema.String;
|
|
105
|
+
readonly callID: Schema.String;
|
|
106
|
+
}>]>>, never, never>;
|
|
107
|
+
readonly id: Schema.brand<Schema.String, "PermissionV2.ID"> & {
|
|
108
|
+
create: (id?: string) => string & import("effect/Brand").Brand<"PermissionV2.ID">;
|
|
109
|
+
};
|
|
110
|
+
}>>;
|
|
111
|
+
}>>, HttpApiEndpoint.Json<typeof SessionNotFoundError>, SessionLocationId, HttpApiMiddleware.Requires<SessionLocationId>> | HttpApiEndpoint.HttpApiEndpoint<"session.permission.get", "GET", "/api/session/:sessionID/permission/:requestID", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
112
|
+
sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
113
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
114
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
115
|
+
};
|
|
116
|
+
requestID: Schema.brand<Schema.String, "PermissionV2.ID"> & {
|
|
117
|
+
create: (id?: string) => string & import("effect/Brand").Brand<"PermissionV2.ID">;
|
|
118
|
+
};
|
|
119
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
120
|
+
readonly data: Schema.Struct<{
|
|
121
|
+
readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
122
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
123
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
124
|
+
};
|
|
125
|
+
readonly action: Schema.String;
|
|
126
|
+
readonly resources: Schema.$Array<Schema.String>;
|
|
127
|
+
readonly save: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.String>>>, Schema.optionalKey<Schema.$Array<Schema.String>>, never, never>;
|
|
128
|
+
readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
129
|
+
readonly source: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
|
|
130
|
+
readonly type: Schema.Literal<"tool">;
|
|
131
|
+
readonly messageID: Schema.String;
|
|
132
|
+
readonly callID: Schema.String;
|
|
133
|
+
}>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
|
|
134
|
+
readonly type: Schema.Literal<"tool">;
|
|
135
|
+
readonly messageID: Schema.String;
|
|
136
|
+
readonly callID: Schema.String;
|
|
137
|
+
}>]>>, never, never>;
|
|
138
|
+
readonly id: Schema.brand<Schema.String, "PermissionV2.ID"> & {
|
|
139
|
+
create: (id?: string) => string & import("effect/Brand").Brand<"PermissionV2.ID">;
|
|
140
|
+
};
|
|
141
|
+
}>;
|
|
142
|
+
}>>, HttpApiEndpoint.Json<typeof SessionNotFoundError | typeof PermissionNotFoundError>, SessionLocationId, HttpApiMiddleware.Requires<SessionLocationId>> | HttpApiEndpoint.HttpApiEndpoint<"session.permission.reply", "POST", "/api/session/:sessionID/permission/:requestID/reply", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
143
|
+
sessionID: Schema.brand<Schema.String, "SessionID"> & {
|
|
144
|
+
create: () => string & import("effect/Brand").Brand<"SessionID">;
|
|
145
|
+
descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
|
|
146
|
+
};
|
|
147
|
+
requestID: Schema.brand<Schema.String, "PermissionV2.ID"> & {
|
|
148
|
+
create: (id?: string) => string & import("effect/Brand").Brand<"PermissionV2.ID">;
|
|
149
|
+
};
|
|
150
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
151
|
+
readonly reply: Schema.Literals<readonly ["once", "always", "reject"]>;
|
|
152
|
+
readonly message: Schema.optional<Schema.String>;
|
|
153
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<HttpApiSchema.NoContent>, HttpApiEndpoint.Json<typeof SessionNotFoundError | typeof PermissionNotFoundError>, SessionLocationId, HttpApiMiddleware.Requires<SessionLocationId>>, false>;
|
|
154
|
+
//# sourceMappingURL=permission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../src/groups/permission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Agent } from "@zyraxon-ai/schema/agent";
|
|
2
|
+
import { Location } from "@zyraxon-ai/schema/location";
|
|
3
|
+
import { Permission } from "@zyraxon-ai/schema/permission";
|
|
4
|
+
import { PermissionSaved } from "@zyraxon-ai/schema/permission-saved";
|
|
5
|
+
import { Project } from "@zyraxon-ai/schema/project";
|
|
6
|
+
import { Session } from "@zyraxon-ai/schema/session";
|
|
7
|
+
import { Schema } from "effect";
|
|
8
|
+
import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
|
|
9
|
+
import { PermissionNotFoundError, SessionNotFoundError } from "../errors";
|
|
10
|
+
import { LocationQuery, locationQueryOpenApi } from "./location";
|
|
11
|
+
export const makePermissionGroup = (locationMiddleware, sessionLocationMiddleware) => HttpApiGroup.make("server.permission")
|
|
12
|
+
.add(HttpApiEndpoint.get("permission.request.list", "/api/permission/request", {
|
|
13
|
+
query: LocationQuery,
|
|
14
|
+
success: Location.response(Schema.Array(Permission.Request)),
|
|
15
|
+
})
|
|
16
|
+
.annotateMerge(locationQueryOpenApi)
|
|
17
|
+
.annotateMerge(OpenApi.annotations({
|
|
18
|
+
identifier: "v2.permission.request.list",
|
|
19
|
+
summary: "List pending permission requests",
|
|
20
|
+
description: "Retrieve pending permission requests for a location.",
|
|
21
|
+
})))
|
|
22
|
+
.add(HttpApiEndpoint.get("permission.saved.list", "/api/permission/saved", {
|
|
23
|
+
query: Schema.Struct({ projectID: Project.ID.pipe(Schema.optional) }),
|
|
24
|
+
success: Schema.Struct({ data: Schema.Array(PermissionSaved.Info) }),
|
|
25
|
+
}).annotateMerge(OpenApi.annotations({
|
|
26
|
+
identifier: "v2.permission.saved.list",
|
|
27
|
+
summary: "List saved permissions",
|
|
28
|
+
description: "Retrieve saved permissions, optionally filtered by project.",
|
|
29
|
+
})))
|
|
30
|
+
.add(HttpApiEndpoint.delete("permission.saved.remove", "/api/permission/saved/:id", {
|
|
31
|
+
params: { id: PermissionSaved.ID },
|
|
32
|
+
success: HttpApiSchema.NoContent,
|
|
33
|
+
}).annotateMerge(OpenApi.annotations({
|
|
34
|
+
identifier: "v2.permission.saved.remove",
|
|
35
|
+
summary: "Remove saved permission",
|
|
36
|
+
description: "Remove a saved permission by ID.",
|
|
37
|
+
})))
|
|
38
|
+
// Effect applies group middleware only to endpoints already added; session endpoints use session placement below.
|
|
39
|
+
.middleware(locationMiddleware)
|
|
40
|
+
.add(HttpApiEndpoint.post("session.permission.create", "/api/session/:sessionID/permission", {
|
|
41
|
+
params: { sessionID: Session.ID },
|
|
42
|
+
payload: Schema.Struct({
|
|
43
|
+
id: Permission.ID.pipe(Schema.optional),
|
|
44
|
+
action: Permission.Request.fields.action,
|
|
45
|
+
resources: Permission.Request.fields.resources,
|
|
46
|
+
save: Permission.Request.fields.save,
|
|
47
|
+
metadata: Permission.Request.fields.metadata,
|
|
48
|
+
source: Permission.Request.fields.source,
|
|
49
|
+
agent: Agent.ID.pipe(Schema.optional),
|
|
50
|
+
}),
|
|
51
|
+
success: Schema.Struct({
|
|
52
|
+
data: Schema.Struct({ id: Permission.ID, effect: Permission.Effect }),
|
|
53
|
+
}),
|
|
54
|
+
error: SessionNotFoundError,
|
|
55
|
+
})
|
|
56
|
+
.middleware(sessionLocationMiddleware)
|
|
57
|
+
.annotateMerge(OpenApi.annotations({
|
|
58
|
+
identifier: "v2.session.permission.create",
|
|
59
|
+
summary: "Create permission request",
|
|
60
|
+
description: "Evaluate and, when approval is required, create a permission request for a session.",
|
|
61
|
+
})))
|
|
62
|
+
.add(HttpApiEndpoint.get("session.permission.list", "/api/session/:sessionID/permission", {
|
|
63
|
+
params: { sessionID: Session.ID },
|
|
64
|
+
success: Schema.Struct({ data: Schema.Array(Permission.Request) }),
|
|
65
|
+
error: SessionNotFoundError,
|
|
66
|
+
})
|
|
67
|
+
.middleware(sessionLocationMiddleware)
|
|
68
|
+
.annotateMerge(OpenApi.annotations({
|
|
69
|
+
identifier: "v2.session.permission.list",
|
|
70
|
+
summary: "List session permission requests",
|
|
71
|
+
description: "Retrieve pending permission requests owned by a session.",
|
|
72
|
+
})))
|
|
73
|
+
.add(HttpApiEndpoint.get("session.permission.get", "/api/session/:sessionID/permission/:requestID", {
|
|
74
|
+
params: { sessionID: Session.ID, requestID: Permission.ID },
|
|
75
|
+
success: Schema.Struct({ data: Permission.Request }),
|
|
76
|
+
error: [SessionNotFoundError, PermissionNotFoundError],
|
|
77
|
+
})
|
|
78
|
+
.middleware(sessionLocationMiddleware)
|
|
79
|
+
.annotateMerge(OpenApi.annotations({
|
|
80
|
+
identifier: "v2.session.permission.get",
|
|
81
|
+
summary: "Get permission request",
|
|
82
|
+
description: "Retrieve a pending permission request owned by a session.",
|
|
83
|
+
})))
|
|
84
|
+
.add(HttpApiEndpoint.post("session.permission.reply", "/api/session/:sessionID/permission/:requestID/reply", {
|
|
85
|
+
params: { sessionID: Session.ID, requestID: Permission.ID },
|
|
86
|
+
payload: Schema.Struct({
|
|
87
|
+
reply: Permission.Reply,
|
|
88
|
+
message: Schema.String.pipe(Schema.optional),
|
|
89
|
+
}),
|
|
90
|
+
success: HttpApiSchema.NoContent,
|
|
91
|
+
error: [SessionNotFoundError, PermissionNotFoundError],
|
|
92
|
+
})
|
|
93
|
+
.middleware(sessionLocationMiddleware)
|
|
94
|
+
.annotateMerge(OpenApi.annotations({
|
|
95
|
+
identifier: "v2.session.permission.reply",
|
|
96
|
+
summary: "Reply to pending permission request",
|
|
97
|
+
description: "Respond to a pending permission request owned by a session.",
|
|
98
|
+
})))
|
|
99
|
+
.annotateMerge(OpenApi.annotations({ title: "permissions", description: "Experimental permission routes." }));
|
|
100
|
+
//# sourceMappingURL=permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/groups/permission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
|
|
3
|
+
declare const ProjectCopyError_base: Schema.Class<ProjectCopyError, Schema.Struct<{
|
|
4
|
+
readonly name: Schema.Literal<"ProjectCopyError">;
|
|
5
|
+
readonly data: Schema.Struct<{
|
|
6
|
+
readonly message: Schema.String;
|
|
7
|
+
readonly forceRequired: Schema.optional<Schema.Boolean>;
|
|
8
|
+
}>;
|
|
9
|
+
}>, import("effect/Cause").YieldableError>;
|
|
10
|
+
export declare class ProjectCopyError extends ProjectCopyError_base {
|
|
11
|
+
}
|
|
12
|
+
export declare const ProjectCopyGroup: HttpApiGroup.HttpApiGroup<"server.projectCopy", HttpApiEndpoint.HttpApiEndpoint<"projectCopy.create", "POST", "/experimental/project/:projectID/copy", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
13
|
+
projectID: Schema.brand<Schema.String, "Project.ID"> & {
|
|
14
|
+
global: string & import("effect/Brand").Brand<"Project.ID">;
|
|
15
|
+
};
|
|
16
|
+
}>>, HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
17
|
+
readonly location: Schema.optional<Schema.Struct<{
|
|
18
|
+
readonly directory: Schema.optional<Schema.String>;
|
|
19
|
+
readonly workspace: Schema.optional<Schema.String>;
|
|
20
|
+
}>>;
|
|
21
|
+
}>>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
22
|
+
readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
23
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
24
|
+
readonly strategy: Schema.brand<Schema.Trim, "ProjectCopy.StrategyID">;
|
|
25
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
26
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
27
|
+
}>>, HttpApiEndpoint.Json<typeof ProjectCopyError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"projectCopy.remove", "DELETE", "/experimental/project/:projectID/copy", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
28
|
+
projectID: Schema.brand<Schema.String, "Project.ID"> & {
|
|
29
|
+
global: string & import("effect/Brand").Brand<"Project.ID">;
|
|
30
|
+
};
|
|
31
|
+
}>>, HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
32
|
+
readonly location: Schema.optional<Schema.Struct<{
|
|
33
|
+
readonly directory: Schema.optional<Schema.String>;
|
|
34
|
+
readonly workspace: Schema.optional<Schema.String>;
|
|
35
|
+
}>>;
|
|
36
|
+
}>>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
37
|
+
readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
|
|
38
|
+
readonly force: Schema.Boolean;
|
|
39
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<HttpApiSchema.NoContent>, HttpApiEndpoint.Json<typeof ProjectCopyError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"projectCopy.refresh", "POST", "/experimental/project/:projectID/copy/refresh", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
40
|
+
projectID: Schema.brand<Schema.String, "Project.ID"> & {
|
|
41
|
+
global: string & import("effect/Brand").Brand<"Project.ID">;
|
|
42
|
+
};
|
|
43
|
+
}>>, HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
44
|
+
readonly location: Schema.optional<Schema.Struct<{
|
|
45
|
+
readonly directory: Schema.optional<Schema.String>;
|
|
46
|
+
readonly workspace: Schema.optional<Schema.String>;
|
|
47
|
+
}>>;
|
|
48
|
+
}>>, HttpApiEndpoint.Json<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<HttpApiSchema.NoContent>, HttpApiEndpoint.Json<typeof ProjectCopyError>, never, never>, false>;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=project-copy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-copy.d.ts","sourceRoot":"","sources":["../../src/groups/project-copy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAW,MAAM,yBAAyB,CAAA;;;;;;;;AAK/F,qBAAa,gBAAiB,SAAQ,qBASrC;CAAG;AAKJ,eAAO,MAAM,gBAAgB;;gCAnBd,cAAc;;;;;;;;mBAanB,OAAS,QACnB,CAAE,OAEA,QAAQ,CAAC,OAAO,MAAM,CAAC,OAAO,MAAM,IAAG,OAAQ,WAAW,CAAC,OAAO,MAAM;wBAN7D,OAAQ,KAAK,CAAC,OAAO,MAAM;uBALsB,OAAQ,KAAK,CAAC,OAAO,IAAI;;wBAwBpB,OAAQ,KAAK,CAAC,OAE/E,MAAI;;;gCA/BS,cAAc;;;;;;;;wBAuBtB,OAAQ,KAAK,CAAC,OACf,MAAA;oBACS,OAAO,OAAO;;;gCAzBd,cAAc;;;;;;;wLAoDkF,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ProjectCopy } from "@zyraxon-ai/schema/project-copy";
|
|
2
|
+
import { Project } from "@zyraxon-ai/schema/project";
|
|
3
|
+
import { Schema, Struct } from "effect";
|
|
4
|
+
import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
|
|
5
|
+
import { LocationQuery, locationQueryOpenApi } from "./location";
|
|
6
|
+
const root = "/experimental/project/:projectID/copy";
|
|
7
|
+
export class ProjectCopyError extends Schema.ErrorClass("ProjectCopyError")({
|
|
8
|
+
name: Schema.Literal("ProjectCopyError"),
|
|
9
|
+
data: Schema.Struct({
|
|
10
|
+
message: Schema.String,
|
|
11
|
+
forceRequired: Schema.optional(Schema.Boolean),
|
|
12
|
+
}),
|
|
13
|
+
}, { httpApiStatus: 400 }) {
|
|
14
|
+
}
|
|
15
|
+
const CreatePayload = Schema.Struct(Struct.omit(ProjectCopy.CreateInput.fields, ["projectID", "sourceDirectory"]));
|
|
16
|
+
const RemovePayload = Schema.Struct(Struct.omit(ProjectCopy.RemoveInput.fields, ["projectID"]));
|
|
17
|
+
export const ProjectCopyGroup = HttpApiGroup.make("server.projectCopy")
|
|
18
|
+
.add(HttpApiEndpoint.post("projectCopy.create", root, {
|
|
19
|
+
params: { projectID: Project.ID },
|
|
20
|
+
query: LocationQuery,
|
|
21
|
+
payload: CreatePayload,
|
|
22
|
+
success: ProjectCopy.Copy,
|
|
23
|
+
error: ProjectCopyError,
|
|
24
|
+
})
|
|
25
|
+
.annotateMerge(locationQueryOpenApi)
|
|
26
|
+
.annotateMerge(OpenApi.annotations({ identifier: "v2.projectCopy.create" })))
|
|
27
|
+
.add(HttpApiEndpoint.delete("projectCopy.remove", root, {
|
|
28
|
+
params: { projectID: Project.ID },
|
|
29
|
+
query: LocationQuery,
|
|
30
|
+
payload: RemovePayload,
|
|
31
|
+
success: HttpApiSchema.NoContent,
|
|
32
|
+
error: ProjectCopyError,
|
|
33
|
+
})
|
|
34
|
+
.annotateMerge(locationQueryOpenApi)
|
|
35
|
+
.annotateMerge(OpenApi.annotations({ identifier: "v2.projectCopy.remove" })))
|
|
36
|
+
.add(HttpApiEndpoint.post("projectCopy.refresh", `${root}/refresh`, {
|
|
37
|
+
params: { projectID: Project.ID },
|
|
38
|
+
query: LocationQuery,
|
|
39
|
+
success: HttpApiSchema.NoContent,
|
|
40
|
+
error: ProjectCopyError,
|
|
41
|
+
})
|
|
42
|
+
.annotateMerge(locationQueryOpenApi)
|
|
43
|
+
.annotateMerge(OpenApi.annotations({ identifier: "v2.projectCopy.refresh" })))
|
|
44
|
+
.annotateMerge(OpenApi.annotations({ title: "projectCopy", description: "Project copy management routes." }));
|
|
45
|
+
//# sourceMappingURL=project-copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-copy.js","sourceRoot":"","sources":["../../src/groups/project-copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEhE,MAAM,IAAI,GAAG,uCAAuC,CAAA;AAEpD,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,UAAU,CAAmB,kBAAkB,CAAC,CAC3F;IACE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;KAC/C,CAAC;CACH,EACD,EAAE,aAAa,EAAE,GAAG,EAAE,CACvB;CAAG;AAEJ,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAClH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AAE/F,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC;KACpE,GAAG,CACF,eAAe,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE;IAC/C,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;IACjC,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,WAAW,CAAC,IAAI;IACzB,KAAK,EAAE,gBAAgB;CACxB,CAAC;KACC,aAAa,CAAC,oBAAoB,CAAC;KACnC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAC/E;KACA,GAAG,CACF,eAAe,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE;IACjD,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;IACjC,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa,CAAC,SAAS;IAChC,KAAK,EAAE,gBAAgB;CACxB,CAAC;KACC,aAAa,CAAC,oBAAoB,CAAC;KACnC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAC/E;KACA,GAAG,CACF,eAAe,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,IAAI,UAAU,EAAE;IAC7D,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;IACjC,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,aAAa,CAAC,SAAS;IAChC,KAAK,EAAE,gBAAgB;CACxB,CAAC;KACC,aAAa,CAAC,oBAAoB,CAAC;KACnC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAChF;KACA,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Provider } from "@zyraxon-ai/schema/provider";
|
|
2
|
+
import { Location } from "@zyraxon-ai/schema/location";
|
|
3
|
+
import { Schema } from "effect";
|
|
4
|
+
import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
|
|
5
|
+
import { ProviderNotFoundError, ServiceUnavailableError } from "../errors";
|
|
6
|
+
export declare const ProviderGroup: HttpApiGroup.HttpApiGroup<"server.provider", HttpApiEndpoint.HttpApiEndpoint<"provider.list", "GET", "/api/provider", HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
7
|
+
readonly location: Schema.optional<Schema.Struct<{
|
|
8
|
+
readonly directory: Schema.optional<Schema.String>;
|
|
9
|
+
readonly workspace: Schema.optional<Schema.String>;
|
|
10
|
+
}>>;
|
|
11
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
12
|
+
readonly location: typeof Location.Info;
|
|
13
|
+
readonly data: Schema.$Array<Schema.Struct<{
|
|
14
|
+
readonly id: Schema.brand<Schema.String, "ProviderV2.ID"> & {
|
|
15
|
+
opencode: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
16
|
+
anthropic: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
17
|
+
openai: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
18
|
+
google: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
19
|
+
googleVertex: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
20
|
+
githubCopilot: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
21
|
+
amazonBedrock: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
22
|
+
azure: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
23
|
+
openrouter: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
24
|
+
mistral: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
25
|
+
gitlab: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
26
|
+
};
|
|
27
|
+
readonly integrationID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Integration.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Integration.ID">>, never, never>;
|
|
28
|
+
readonly name: Schema.String;
|
|
29
|
+
readonly disabled: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
|
|
30
|
+
readonly api: Schema.Union<readonly [Schema.Struct<{
|
|
31
|
+
readonly type: Schema.Literal<"aisdk">;
|
|
32
|
+
readonly package: Schema.String;
|
|
33
|
+
readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
34
|
+
readonly settings: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
35
|
+
}>, Schema.Struct<{
|
|
36
|
+
readonly type: Schema.Literal<"native">;
|
|
37
|
+
readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
38
|
+
readonly settings: Schema.$Record<Schema.String, Schema.Unknown>;
|
|
39
|
+
}>]>;
|
|
40
|
+
readonly request: Schema.Struct<{
|
|
41
|
+
readonly headers: Schema.$Record<Schema.String, Schema.String>;
|
|
42
|
+
readonly body: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
|
|
43
|
+
}>;
|
|
44
|
+
}> & {
|
|
45
|
+
empty: (id: Provider.ID) => {
|
|
46
|
+
readonly id: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
47
|
+
readonly name: string;
|
|
48
|
+
readonly api: {
|
|
49
|
+
readonly type: "aisdk";
|
|
50
|
+
readonly package: string;
|
|
51
|
+
readonly url?: string;
|
|
52
|
+
readonly settings?: {
|
|
53
|
+
readonly [x: string]: unknown;
|
|
54
|
+
};
|
|
55
|
+
} | {
|
|
56
|
+
readonly type: "native";
|
|
57
|
+
readonly settings: {
|
|
58
|
+
readonly [x: string]: unknown;
|
|
59
|
+
};
|
|
60
|
+
readonly url?: string;
|
|
61
|
+
};
|
|
62
|
+
readonly request: {
|
|
63
|
+
readonly headers: {
|
|
64
|
+
readonly [x: string]: string;
|
|
65
|
+
};
|
|
66
|
+
readonly body: {
|
|
67
|
+
readonly [x: string]: Schema.Json;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
readonly integrationID?: string & import("effect/Brand").Brand<"Integration.ID">;
|
|
71
|
+
readonly disabled?: boolean;
|
|
72
|
+
};
|
|
73
|
+
}>;
|
|
74
|
+
}>>, HttpApiEndpoint.Json<typeof ServiceUnavailableError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"provider.get", "GET", "/api/provider/:providerID", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
75
|
+
providerID: Schema.brand<Schema.String, "ProviderV2.ID"> & {
|
|
76
|
+
opencode: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
77
|
+
anthropic: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
78
|
+
openai: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
79
|
+
google: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
80
|
+
googleVertex: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
81
|
+
githubCopilot: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
82
|
+
amazonBedrock: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
83
|
+
azure: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
84
|
+
openrouter: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
85
|
+
mistral: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
86
|
+
gitlab: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
87
|
+
};
|
|
88
|
+
}>>, HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
89
|
+
readonly location: Schema.optional<Schema.Struct<{
|
|
90
|
+
readonly directory: Schema.optional<Schema.String>;
|
|
91
|
+
readonly workspace: Schema.optional<Schema.String>;
|
|
92
|
+
}>>;
|
|
93
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
94
|
+
readonly location: typeof Location.Info;
|
|
95
|
+
readonly data: Schema.Struct<{
|
|
96
|
+
readonly id: Schema.brand<Schema.String, "ProviderV2.ID"> & {
|
|
97
|
+
opencode: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
98
|
+
anthropic: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
99
|
+
openai: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
100
|
+
google: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
101
|
+
googleVertex: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
102
|
+
githubCopilot: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
103
|
+
amazonBedrock: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
104
|
+
azure: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
105
|
+
openrouter: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
106
|
+
mistral: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
107
|
+
gitlab: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
108
|
+
};
|
|
109
|
+
readonly integrationID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Integration.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Integration.ID">>, never, never>;
|
|
110
|
+
readonly name: Schema.String;
|
|
111
|
+
readonly disabled: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
|
|
112
|
+
readonly api: Schema.Union<readonly [Schema.Struct<{
|
|
113
|
+
readonly type: Schema.Literal<"aisdk">;
|
|
114
|
+
readonly package: Schema.String;
|
|
115
|
+
readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
116
|
+
readonly settings: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
|
|
117
|
+
}>, Schema.Struct<{
|
|
118
|
+
readonly type: Schema.Literal<"native">;
|
|
119
|
+
readonly url: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
|
|
120
|
+
readonly settings: Schema.$Record<Schema.String, Schema.Unknown>;
|
|
121
|
+
}>]>;
|
|
122
|
+
readonly request: Schema.Struct<{
|
|
123
|
+
readonly headers: Schema.$Record<Schema.String, Schema.String>;
|
|
124
|
+
readonly body: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
|
|
125
|
+
}>;
|
|
126
|
+
}> & {
|
|
127
|
+
empty: (id: Provider.ID) => {
|
|
128
|
+
readonly id: string & import("effect/Brand").Brand<"ProviderV2.ID">;
|
|
129
|
+
readonly name: string;
|
|
130
|
+
readonly api: {
|
|
131
|
+
readonly type: "aisdk";
|
|
132
|
+
readonly package: string;
|
|
133
|
+
readonly url?: string;
|
|
134
|
+
readonly settings?: {
|
|
135
|
+
readonly [x: string]: unknown;
|
|
136
|
+
};
|
|
137
|
+
} | {
|
|
138
|
+
readonly type: "native";
|
|
139
|
+
readonly settings: {
|
|
140
|
+
readonly [x: string]: unknown;
|
|
141
|
+
};
|
|
142
|
+
readonly url?: string;
|
|
143
|
+
};
|
|
144
|
+
readonly request: {
|
|
145
|
+
readonly headers: {
|
|
146
|
+
readonly [x: string]: string;
|
|
147
|
+
};
|
|
148
|
+
readonly body: {
|
|
149
|
+
readonly [x: string]: Schema.Json;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
readonly integrationID?: string & import("effect/Brand").Brand<"Integration.ID">;
|
|
153
|
+
readonly disabled?: boolean;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
}>>, HttpApiEndpoint.Json<typeof ServiceUnavailableError | typeof ProviderNotFoundError>, never, never>, false>;
|
|
157
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/groups/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Provider } from "@zyraxon-ai/schema/provider";
|
|
2
|
+
import { Location } from "@zyraxon-ai/schema/location";
|
|
3
|
+
import { Schema } from "effect";
|
|
4
|
+
import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
|
|
5
|
+
import { ProviderNotFoundError, ServiceUnavailableError } from "../errors";
|
|
6
|
+
import { LocationQuery, locationQueryOpenApi } from "./location";
|
|
7
|
+
export const ProviderGroup = HttpApiGroup.make("server.provider")
|
|
8
|
+
.add(HttpApiEndpoint.get("provider.list", "/api/provider", {
|
|
9
|
+
query: LocationQuery,
|
|
10
|
+
success: Location.response(Schema.Array(Provider.Info)),
|
|
11
|
+
error: ServiceUnavailableError,
|
|
12
|
+
})
|
|
13
|
+
.annotateMerge(locationQueryOpenApi)
|
|
14
|
+
.annotateMerge(OpenApi.annotations({
|
|
15
|
+
identifier: "v2.provider.list",
|
|
16
|
+
summary: "List providers",
|
|
17
|
+
description: "Retrieve active AI providers so clients can show provider availability and configuration.",
|
|
18
|
+
})))
|
|
19
|
+
.add(HttpApiEndpoint.get("provider.get", "/api/provider/:providerID", {
|
|
20
|
+
params: { providerID: Provider.ID },
|
|
21
|
+
query: LocationQuery,
|
|
22
|
+
success: Location.response(Provider.Info),
|
|
23
|
+
error: [ProviderNotFoundError, ServiceUnavailableError],
|
|
24
|
+
})
|
|
25
|
+
.annotateMerge(locationQueryOpenApi)
|
|
26
|
+
.annotateMerge(OpenApi.annotations({
|
|
27
|
+
identifier: "v2.provider.get",
|
|
28
|
+
summary: "Get provider",
|
|
29
|
+
description: "Retrieve a single AI provider so clients can inspect its availability and endpoint settings.",
|
|
30
|
+
})))
|
|
31
|
+
.annotateMerge(OpenApi.annotations({
|
|
32
|
+
title: "providers",
|
|
33
|
+
description: "Experimental provider routes.",
|
|
34
|
+
}));
|
|
35
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/groups/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;KAC9D,GAAG,CACF,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,EAAE;IACpD,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,KAAK,EAAE,uBAAuB;CAC/B,CAAC;KACC,aAAa,CAAC,oBAAoB,CAAC;KACnC,aAAa,CACZ,OAAO,CAAC,WAAW,CAAC;IAClB,UAAU,EAAE,kBAAkB;IAC9B,OAAO,EAAE,gBAAgB;IACzB,WAAW,EAAE,2FAA2F;CACzG,CAAC,CACH,CACJ;KACA,GAAG,CACF,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,2BAA2B,EAAE;IAC/D,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE;IACnC,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzC,KAAK,EAAE,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;CACxD,CAAC;KACC,aAAa,CAAC,oBAAoB,CAAC;KACnC,aAAa,CACZ,OAAO,CAAC,WAAW,CAAC;IAClB,UAAU,EAAE,iBAAiB;IAC7B,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,8FAA8F;CAC5G,CAAC,CACH,CACJ;KACA,aAAa,CACZ,OAAO,CAAC,WAAW,CAAC;IAClB,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,+BAA+B;CAC7C,CAAC,CACH,CAAA"}
|