@opencode/server 2.1.4 → 2.2.1
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 +8 -1
- package/dist/api.js +5 -5
- package/dist/auth.js +1 -1
- package/dist/chunks/{pairing-e4x9285j.js → media-uri-0a5jm2na.js} +4 -4
- package/dist/chunks/{pairing-0dncng21.js → media-uri-0n1e9dnh.js} +25 -12
- package/dist/chunks/{pairing-x0608mvx.js → media-uri-1je14sn4.js} +1 -1
- package/dist/chunks/{pairing-2yr2dq97.js → media-uri-22wspztn.js} +2 -2
- package/dist/chunks/{pairing-5w10ccet.js → media-uri-2xcc0x05.js} +1 -1
- package/dist/chunks/{pairing-39nnfjx1.js → media-uri-39nnfjx1.js} +1 -1
- package/dist/chunks/{pairing-x2dckmx1.js → media-uri-3t6z87e1.js} +23 -16
- package/dist/chunks/{pairing-4b0899hb.js → media-uri-6vs5sqy6.js} +2 -2
- package/dist/chunks/{pairing-7b9xm1qg.js → media-uri-7b9xm1qg.js} +1 -1
- package/dist/chunks/{pairing-aj1jc7g7.js → media-uri-8113w26k.js} +8 -6
- package/dist/chunks/{pairing-t3j5ftv1.js → media-uri-9c4eyh8m.js} +3 -3
- package/dist/chunks/{pairing-3te71694.js → media-uri-b1prsepx.js} +4 -4
- package/dist/chunks/{pairing-e7pctymn.js → media-uri-b2k9041j.js} +1 -1
- package/dist/chunks/{pairing-erzfdgke.js → media-uri-bd8755ek.js} +16 -1
- package/dist/chunks/{pairing-f4b2q3tn.js → media-uri-be53s2qz.js} +1 -1
- package/dist/chunks/media-uri-c6sjpm0r.js +83 -0
- package/dist/chunks/{pairing-4qjw9nya.js → media-uri-ckkpcd9y.js} +4 -4
- package/dist/chunks/{pairing-j5aeaa16.js → media-uri-dk68ymtv.js} +1 -1
- package/dist/chunks/{pairing-kcjd09wg.js → media-uri-e46y0tfd.js} +2 -2
- package/dist/chunks/{pairing-k6dz4enc.js → media-uri-fvpjvjpp.js} +24 -23
- package/dist/chunks/{pairing-3154e7fk.js → media-uri-gk0yxcp6.js} +5 -3
- package/dist/chunks/{pairing-gymtz25n.js → media-uri-gqq6kfhc.js} +3 -3
- package/dist/chunks/{pairing-cfhthk6z.js → media-uri-h072q2hm.js} +1 -1
- package/dist/chunks/{pairing-a6kxe6a7.js → media-uri-h3g82chs.js} +12 -4
- package/dist/chunks/{pairing-2b2wekgg.js → media-uri-h9rcwvg0.js} +1 -1
- package/dist/chunks/{pairing-swdgbzpj.js → media-uri-hax1v4bv.js} +4 -2
- package/dist/chunks/{pairing-ga3m49sz.js → media-uri-hnheq3hv.js} +4 -2
- package/dist/chunks/{pairing-j4at0y5c.js → media-uri-j4at0y5c.js} +1 -1
- package/dist/chunks/media-uri-j9gxd9me.js +22 -0
- package/dist/chunks/{pairing-91mt6ewz.js → media-uri-m5rae7m4.js} +2 -2
- package/dist/chunks/{pairing-kqr36gas.js → media-uri-mzs0n5xz.js} +7 -7
- package/dist/chunks/media-uri-n321d8vm.js +46 -0
- package/dist/chunks/media-uri-ndydfxzp.js +105 -0
- package/dist/chunks/{pairing-6xea6nhh.js → media-uri-ppma8fcc.js} +3 -3
- package/dist/chunks/{pairing-qvy2s3nb.js → media-uri-prdak4hd.js} +6 -6
- package/dist/chunks/{pairing-mte34432.js → media-uri-qbhbayp5.js} +3 -3
- package/dist/chunks/{pairing-49c878v9.js → media-uri-qn8kkfq6.js} +12 -3
- package/dist/chunks/{pairing-x9vr2ttf.js → media-uri-r6vmgwff.js} +24 -6
- package/dist/chunks/{pairing-9me4q8wt.js → media-uri-rztv1fyf.js} +4 -4
- package/dist/chunks/{pairing-nv8hzzrz.js → media-uri-wd7b20jw.js} +32 -12
- package/dist/chunks/{pairing-kaqtndqt.js → media-uri-wxj3d9av.js} +4 -11
- package/dist/chunks/{pairing-q69f22pd.js → media-uri-x8dgc261.js} +2 -2
- package/dist/chunks/{pairing-31acg4hb.js → media-uri-xe9t9xr4.js} +7 -3
- package/dist/chunks/media-uri-xthc02cw.js +6 -0
- package/dist/chunks/media-uri-xzvdbbpy.js +40 -0
- package/dist/chunks/{pairing-x74w7e1f.js → media-uri-yet0vexm.js} +1 -1
- package/dist/chunks/{pairing-kd6vzpgq.js → media-uri-yr4wsvrw.js} +2 -2
- package/dist/chunks/{pairing-xmwystkq.js → media-uri-z59gyc0x.js} +2 -2
- package/dist/chunks/{pairing-72ygafj3.js → media-uri-zjy4sw3d.js} +2 -2
- package/dist/cors.js +1 -1
- package/dist/event-feed.d.ts +1 -1
- package/dist/event-feed.js +5 -5
- package/dist/fetch.js +51 -47
- package/dist/handlers/agent.js +6 -6
- package/dist/handlers/command.js +6 -6
- package/dist/handlers/config.js +6 -6
- package/dist/handlers/credential.js +6 -6
- package/dist/handlers/debug.js +6 -6
- package/dist/handlers/event.js +7 -7
- package/dist/handlers/form.js +6 -6
- package/dist/handlers/fs.d.ts +2 -1
- package/dist/handlers/fs.js +6 -6
- package/dist/handlers/generate.d.ts +1 -1
- package/dist/handlers/generate.js +6 -6
- package/dist/handlers/integration.js +6 -6
- package/dist/handlers/location.js +6 -6
- package/dist/handlers/mcp.js +8 -8
- package/dist/handlers/media.d.ts +6 -0
- package/dist/handlers/media.js +6 -0
- package/dist/handlers/message.js +7 -6
- package/dist/handlers/migration.js +6 -6
- package/dist/handlers/model.js +6 -6
- package/dist/handlers/permission.js +6 -6
- package/dist/handlers/persistent-pty.d.ts +1 -1
- package/dist/handlers/persistent-pty.js +10 -8
- package/dist/handlers/plugin.js +6 -6
- package/dist/handlers/project.d.ts +1 -1
- package/dist/handlers/project.js +6 -6
- package/dist/handlers/provider.js +6 -6
- package/dist/handlers/pty-socket.js +1 -1
- package/dist/handlers/pty.js +8 -8
- package/dist/handlers/reference.js +6 -6
- package/dist/handlers/rpc.js +6 -6
- package/dist/handlers/schedule.d.ts +209 -0
- package/dist/handlers/schedule.js +7 -0
- package/dist/handlers/server.js +9 -9
- package/dist/handlers/session-error.js +1 -1
- package/dist/handlers/session.d.ts +3 -1
- package/dist/handlers/session.js +7 -6
- package/dist/handlers/shell.js +6 -6
- package/dist/handlers/skill.js +6 -6
- package/dist/handlers/usage.d.ts +1 -0
- package/dist/handlers/usage.js +11 -0
- package/dist/handlers/vcs.js +6 -6
- package/dist/handlers/voice.d.ts +1 -1
- package/dist/handlers/voice.js +6 -6
- package/dist/handlers/websearch.js +6 -6
- package/dist/handlers/worktree.js +6 -6
- package/dist/handlers.d.ts +1 -1
- package/dist/handlers.js +47 -43
- package/dist/location.js +4 -4
- package/dist/media-uri.d.ts +6 -0
- package/dist/media-uri.js +6 -0
- package/dist/middleware/authorization.js +2 -2
- package/dist/middleware/form-location.js +3 -3
- package/dist/middleware/schema-error.js +1 -1
- package/dist/middleware/session-location.js +3 -3
- package/dist/pairing.js +3 -3
- package/dist/process.js +55 -49
- package/dist/request-tracing.js +1 -1
- package/dist/routes.d.ts +5 -2
- package/dist/routes.js +50 -46
- package/dist/server-info.js +3 -3
- package/dist/service-status.js +1 -1
- package/dist/workerd.js +52 -48
- package/package.json +9 -8
- package/dist/chunks/pairing-kyxm98pg.js +0 -102
- package/dist/chunks/pairing-pmjbkszz.js +0 -30
- /package/dist/chunks/{pairing-9rqn6x4v.js → media-uri-9rqn6x4v.js} +0 -0
- /package/dist/chunks/{pairing-h6rt5k9s.js → media-uri-h6rt5k9s.js} +0 -0
- /package/dist/chunks/{pairing-q4bn6dy8.js → media-uri-q4bn6dy8.js} +0 -0
- /package/dist/chunks/{pairing-smaf4a18.js → media-uri-smaf4a18.js} +0 -0
- /package/dist/chunks/{pairing-yc7nft6q.js → media-uri-yc7nft6q.js} +0 -0
|
@@ -2,17 +2,17 @@ import {
|
|
|
2
2
|
locationErrors2,
|
|
3
3
|
response2,
|
|
4
4
|
requestRef2
|
|
5
|
-
} from "./
|
|
5
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
6
6
|
import {
|
|
7
7
|
Api2
|
|
8
|
-
} from "./
|
|
8
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
9
9
|
import {
|
|
10
10
|
CorsConfig2,
|
|
11
11
|
isAllowedRequestOrigin2
|
|
12
|
-
} from "./
|
|
12
|
+
} from "./media-uri-q4bn6dy8.js";
|
|
13
13
|
import {
|
|
14
14
|
runPtySocket2
|
|
15
|
-
} from "./
|
|
15
|
+
} from "./media-uri-h6rt5k9s.js";
|
|
16
16
|
|
|
17
17
|
// src/handlers/mcp.ts
|
|
18
18
|
import { Location } from "@opencode/core/location";
|
|
@@ -3,15 +3,19 @@ import {
|
|
|
3
3
|
missingMessage2,
|
|
4
4
|
failedMessageDecode2,
|
|
5
5
|
failedSnapshot2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./media-uri-smaf4a18.js";
|
|
7
7
|
import {
|
|
8
8
|
locationErrors2
|
|
9
|
-
} from "./
|
|
9
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
10
10
|
import {
|
|
11
11
|
Api2
|
|
12
|
-
} from "./
|
|
12
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
13
|
+
import {
|
|
14
|
+
wantsMediaRefs2
|
|
15
|
+
} from "./media-uri-xthc02cw.js";
|
|
13
16
|
|
|
14
17
|
// src/handlers/session.ts
|
|
18
|
+
import { Instance } from "@opencode/core/instance/service";
|
|
15
19
|
import { Session } from "@opencode/core/session";
|
|
16
20
|
import { SessionStats } from "@opencode/core/session/stats";
|
|
17
21
|
import { SessionTitle } from "@opencode/core/session/title";
|
|
@@ -19,7 +23,10 @@ import { SessionTransfer } from "@opencode/core/session/transfer";
|
|
|
19
23
|
import { InstructionEntry } from "@opencode/core/session/instruction-entry";
|
|
20
24
|
import { Form } from "@opencode/core/form";
|
|
21
25
|
import { DateTime, Effect, Stream } from "effect";
|
|
26
|
+
import { HttpServerResponse } from "effect/http";
|
|
22
27
|
import { HttpApiBuilder, HttpApiSchema } from "effect/http-api";
|
|
28
|
+
import { SessionMediaMessageResponse } from "@opencode/protocol/groups/message";
|
|
29
|
+
import { SessionMediaInboxResponse } from "@opencode/protocol/groups/session";
|
|
23
30
|
import {
|
|
24
31
|
ConflictError,
|
|
25
32
|
CommandExecutionError,
|
|
@@ -41,6 +48,9 @@ function missingForm(id) {
|
|
|
41
48
|
var SessionHandler2 = HttpApiBuilder.group(Api2, "server.session", (handlers) => Effect.gen(function* () {
|
|
42
49
|
const session = yield* Session.Service;
|
|
43
50
|
const transfer = yield* SessionTransfer.Service;
|
|
51
|
+
const instructions = yield* InstructionEntry.Service;
|
|
52
|
+
const instances = yield* Instance.Service;
|
|
53
|
+
const requireSession = (sessionID) => session.get(sessionID).pipe(Effect.catchTag("Session.NotFoundError", missingSession2));
|
|
44
54
|
const requireOwnedForm = Effect.fnUntraced(function* (sessionID, formID) {
|
|
45
55
|
const form = yield* Form.Service;
|
|
46
56
|
const info = yield* form.get(formID).pipe(Effect.catchTag("Form.NotFoundError", () => missingForm(formID)));
|
|
@@ -125,13 +135,12 @@ var SessionHandler2 = HttpApiBuilder.group(Api2, "server.session", (handlers) =>
|
|
|
125
135
|
yield* session.switchModel({ sessionID: ctx.params.sessionID, model: ctx.payload.model }).pipe(Effect.catchTag("Session.NotFoundError", missingSession2));
|
|
126
136
|
return HttpApiSchema.NoContent.make();
|
|
127
137
|
})).handle("session.update", Effect.fn(function* (ctx) {
|
|
128
|
-
yield*
|
|
138
|
+
const info = yield* requireSession(ctx.params.sessionID);
|
|
129
139
|
if (ctx.payload.title !== undefined) {
|
|
130
140
|
if (ctx.payload.title) {
|
|
131
141
|
yield* session.rename({ sessionID: ctx.params.sessionID, title: ctx.payload.title }).pipe(Effect.catchTag("Session.NotFoundError", missingSession2));
|
|
132
142
|
} else {
|
|
133
|
-
|
|
134
|
-
yield* title.generate(ctx.params.sessionID);
|
|
143
|
+
yield* SessionTitle.Service.use((title) => title.generate(ctx.params.sessionID)).pipe(instances.provide(info), locationErrors2);
|
|
135
144
|
}
|
|
136
145
|
}
|
|
137
146
|
if (ctx.payload.metadata !== undefined)
|
|
@@ -242,6 +251,10 @@ var SessionHandler2 = HttpApiBuilder.group(Api2, "server.session", (handlers) =>
|
|
|
242
251
|
data: yield* session.diff({ sessionID: ctx.params.sessionID, ...ctx.query }).pipe(Effect.catchTag("Session.NotFoundError", missingSession2), Effect.catchTag("Session.MessageNotFoundError", missingMessage2), Effect.catchTag("Session.TurnRangeError", (error) => new InvalidRequestError({ message: error.message, field: error.field })), Effect.catchTag("Snapshot.Error", failedSnapshot2("diff session turn", ctx.params.sessionID)), locationErrors2)
|
|
243
252
|
};
|
|
244
253
|
})).handle("session.inbox.list", Effect.fn(function* (ctx) {
|
|
254
|
+
if (wantsMediaRefs2(ctx.request))
|
|
255
|
+
return yield* HttpServerResponse.schemaJson(SessionMediaInboxResponse)({
|
|
256
|
+
data: yield* session.inboxWithRefs(ctx.params.sessionID).pipe(Effect.catchTag("Session.NotFoundError", missingSession2))
|
|
257
|
+
}).pipe(Effect.orDie);
|
|
245
258
|
return {
|
|
246
259
|
data: yield* session.inbox(ctx.params.sessionID).pipe(Effect.catchTag("Session.NotFoundError", missingSession2))
|
|
247
260
|
};
|
|
@@ -251,14 +264,14 @@ var SessionHandler2 = HttpApiBuilder.group(Api2, "server.session", (handlers) =>
|
|
|
251
264
|
})).handle("session.inbox.update", Effect.fn(function* (ctx) {
|
|
252
265
|
return yield* pendingMutation(ctx.payload.delivery === "steer" ? session.steerInbox({ sessionID: ctx.params.sessionID, inboxID: ctx.params.inboxID }) : session.queueInbox({ sessionID: ctx.params.sessionID, inboxID: ctx.params.inboxID }), `Pending input cannot change to ${ctx.payload.delivery}`);
|
|
253
266
|
})).handle("session.instructions.entry.list", Effect.fn(function* (ctx) {
|
|
254
|
-
|
|
267
|
+
yield* requireSession(ctx.params.sessionID);
|
|
255
268
|
return { data: yield* instructions.list(ctx.params.sessionID) };
|
|
256
269
|
})).handle("session.instructions.entry.put", Effect.fn(function* (ctx) {
|
|
257
|
-
|
|
270
|
+
yield* requireSession(ctx.params.sessionID);
|
|
258
271
|
yield* instructions.put({ sessionID: ctx.params.sessionID, key: ctx.params.key, value: ctx.payload.value });
|
|
259
272
|
return HttpApiSchema.NoContent.make();
|
|
260
273
|
})).handle("session.instructions.entry.remove", Effect.fn(function* (ctx) {
|
|
261
|
-
|
|
274
|
+
yield* requireSession(ctx.params.sessionID);
|
|
262
275
|
yield* instructions.remove({ sessionID: ctx.params.sessionID, key: ctx.params.key });
|
|
263
276
|
return HttpApiSchema.NoContent.make();
|
|
264
277
|
})).handle("session.generate", Effect.fn(function* (ctx) {
|
|
@@ -268,15 +281,22 @@ var SessionHandler2 = HttpApiBuilder.group(Api2, "server.session", (handlers) =>
|
|
|
268
281
|
yield* session.get(ctx.params.sessionID).pipe(Effect.catchTag("Session.NotFoundError", missingSession2));
|
|
269
282
|
return session.log({ sessionID: ctx.params.sessionID, after: ctx.query.after, follow: ctx.query.follow }).pipe(Stream.orDie);
|
|
270
283
|
})).handle("session.interrupt", Effect.fn(function* (ctx) {
|
|
284
|
+
yield* requireSession(ctx.params.sessionID);
|
|
271
285
|
return { interrupted: yield* session.interrupt(ctx.params.sessionID, { resume: ctx.query.resume }) };
|
|
272
286
|
})).handle("session.background", Effect.fn(function* (ctx) {
|
|
273
287
|
yield* session.background(ctx.params.sessionID).pipe(Effect.catchTag("Session.NotFoundError", missingSession2));
|
|
274
288
|
return HttpApiSchema.NoContent.make();
|
|
275
289
|
})).handle("session.message", Effect.fn(function* (ctx) {
|
|
276
290
|
yield* session.get(ctx.params.sessionID).pipe(Effect.catchTag("Session.NotFoundError", missingSession2));
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
291
|
+
if (wantsMediaRefs2(ctx.request)) {
|
|
292
|
+
const message = yield* session.messageWithRefs(ctx.params);
|
|
293
|
+
if (message)
|
|
294
|
+
return yield* HttpServerResponse.schemaJson(SessionMediaMessageResponse)({ data: message }).pipe(Effect.orDie);
|
|
295
|
+
} else {
|
|
296
|
+
const message = yield* session.message(ctx.params);
|
|
297
|
+
if (message)
|
|
298
|
+
return { data: message };
|
|
299
|
+
}
|
|
280
300
|
return yield* new MessageNotFoundError({
|
|
281
301
|
sessionID: ctx.params.sessionID,
|
|
282
302
|
messageID: ctx.params.messageID,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
locationErrors2,
|
|
3
3
|
awaitPlugins2
|
|
4
|
-
} from "./
|
|
4
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
5
5
|
import {
|
|
6
6
|
Api2
|
|
7
|
-
} from "./
|
|
7
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
8
8
|
|
|
9
9
|
// src/handlers/voice.ts
|
|
10
10
|
import { Location } from "@opencode/core/location";
|
|
@@ -15,7 +15,6 @@ import { InvalidRequestError, ServiceUnavailableError } from "@opencode/protocol
|
|
|
15
15
|
import { Global } from "@opencode/util/global";
|
|
16
16
|
import { Effect } from "effect";
|
|
17
17
|
import { HttpApiBuilder } from "effect/http-api";
|
|
18
|
-
var voiceErrors = (error) => error._tag === "Voice.InvalidRequestError" ? new InvalidRequestError({ message: error.message }) : new ServiceUnavailableError({ message: error.message, service: error.service });
|
|
19
18
|
var VoiceHandler2 = HttpApiBuilder.group(Api2, "server.voice", (handlers) => Effect.gen(function* () {
|
|
20
19
|
const global = yield* Global.Service;
|
|
21
20
|
const locations = yield* LocationServiceMap.Service;
|
|
@@ -27,14 +26,8 @@ var VoiceHandler2 = HttpApiBuilder.group(Api2, "server.voice", (handlers) => Eff
|
|
|
27
26
|
}, Effect.provide(services), locationErrors2)).handle("voice.session", Effect.fn("server.voice.session")(function* (request) {
|
|
28
27
|
yield* awaitPlugins2;
|
|
29
28
|
const voice = yield* Voice.Service;
|
|
30
|
-
const
|
|
31
|
-
return {
|
|
32
|
-
data: { transport: session.transport, ...session.id === undefined ? {} : { session: { id: session.id } } }
|
|
33
|
-
};
|
|
34
|
-
}, Effect.provide(services), locationErrors2)).handle("voice.instructions", Effect.fn("server.voice.instructions")(function* (request) {
|
|
35
|
-
yield* awaitPlugins2;
|
|
36
|
-
const voice = yield* Voice.Service;
|
|
37
|
-
yield* voice.instruct({ id: request.params.sessionID, instructions: request.payload.instructions }).pipe(Effect.mapError(voiceErrors));
|
|
29
|
+
const transport = yield* voice.session(request.payload).pipe(Effect.mapError((error) => error._tag === "Voice.InvalidRequestError" ? new InvalidRequestError({ message: error.message }) : new ServiceUnavailableError({ message: error.message, service: error.service })));
|
|
30
|
+
return { data: { transport } };
|
|
38
31
|
}, Effect.provide(services), locationErrors2));
|
|
39
32
|
}));
|
|
40
33
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
requestRef2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/debug.ts
|
|
9
9
|
import { LocationServiceMap } from "@opencode/core/location-service-map";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/vcs.ts
|
|
9
9
|
import { Vcs } from "@opencode/core/vcs";
|
|
@@ -64,7 +64,11 @@ var VcsHandler2 = HttpApiBuilder.group(Api2, "server.vcs", (handlers) => Effect.
|
|
|
64
64
|
return yield* vcs.branches({ search: ctx.query.search, limit: Math.min(ctx.query.limit ?? 50, 100) });
|
|
65
65
|
}))).handle("vcs.diff", (ctx) => response2(Effect.gen(function* () {
|
|
66
66
|
const vcs = yield* Vcs.Service;
|
|
67
|
-
return yield* vcs.diff(ctx.query.mode, {
|
|
67
|
+
return yield* vcs.diff(ctx.query.mode, {
|
|
68
|
+
context: ctx.query.context,
|
|
69
|
+
base: ctx.query.base,
|
|
70
|
+
untracked: ctx.query.untracked
|
|
71
|
+
}).pipe(Effect.mapError((error) => new ServiceUnavailableError({ service: "vcs", message: error.message })));
|
|
68
72
|
})));
|
|
69
73
|
}));
|
|
70
74
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// src/media-uri.ts
|
|
2
|
+
var CAPABILITIES_HEADER = "x-opencode-capabilities";
|
|
3
|
+
var MEDIA_URI_CAPABILITY = "experimental-media-uri";
|
|
4
|
+
var wantsMediaRefs2 = (request) => request.headers[CAPABILITIES_HEADER]?.split(",").some((token) => token.trim().toLowerCase() === MEDIA_URI_CAPABILITY) ?? false;
|
|
5
|
+
|
|
6
|
+
export { wantsMediaRefs2 };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {
|
|
2
|
+
missingSession2
|
|
3
|
+
} from "./media-uri-smaf4a18.js";
|
|
4
|
+
|
|
5
|
+
// src/handlers/schedule.ts
|
|
6
|
+
import { Schedule } from "@opencode/core/schedule";
|
|
7
|
+
import { ForbiddenError, InvalidRequestError, ScheduleNotFoundError } from "@opencode/protocol/errors";
|
|
8
|
+
import { Effect } from "effect";
|
|
9
|
+
import { HttpApiSchema } from "effect/http-api";
|
|
10
|
+
var makeSchedule2 = Effect.gen(function* () {
|
|
11
|
+
const schedules = yield* Schedule.Service;
|
|
12
|
+
const allowed = (sessionID) => schedules.enabled(sessionID).pipe(Effect.mapError(missingSession2), Effect.flatMap((enabled) => enabled ? Effect.void : Effect.fail(disabled())));
|
|
13
|
+
const find = (id) => Effect.gen(function* () {
|
|
14
|
+
const info = yield* schedules.get(id).pipe(Effect.mapError(missingSchedule));
|
|
15
|
+
if (info.sessionID === undefined)
|
|
16
|
+
return yield* missingSchedule({ scheduleID: id });
|
|
17
|
+
yield* allowed(info.sessionID).pipe(Effect.catchTag("SessionNotFoundError", () => Effect.fail(missingSchedule({ scheduleID: id }))));
|
|
18
|
+
return info;
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
create: (payload) => schedules.create(Schedule.toCreateInput(payload.sessionID, payload)).pipe(Effect.map((data) => ({ data })), Effect.catchTags({
|
|
22
|
+
"Schedule.InvalidError": (error) => Effect.fail(new InvalidRequestError({ message: error.message, kind: "schedule" })),
|
|
23
|
+
"Schedule.DisabledError": () => Effect.fail(disabled()),
|
|
24
|
+
"Session.NotFoundError": (error) => Effect.fail(missingSession2(error))
|
|
25
|
+
})),
|
|
26
|
+
list: (sessionID) => allowed(sessionID).pipe(Effect.andThen(schedules.list({ sessionID })), Effect.map((data) => ({ data }))),
|
|
27
|
+
get: (id) => find(id).pipe(Effect.map((data) => ({ data }))),
|
|
28
|
+
pause: (id) => find(id).pipe(Effect.andThen(schedules.pause(id).pipe(Effect.mapError(missingSchedule))), Effect.map((data) => ({ data }))),
|
|
29
|
+
resume: (id) => find(id).pipe(Effect.andThen(schedules.resume(id).pipe(Effect.mapError(missingSchedule))), Effect.map((data) => ({ data }))),
|
|
30
|
+
remove: (id) => find(id).pipe(Effect.andThen(schedules.remove(id).pipe(Effect.mapError(missingSchedule))), Effect.as(HttpApiSchema.NoContent.make()))
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
function missingSchedule(error) {
|
|
34
|
+
return new ScheduleNotFoundError({ scheduleID: error.scheduleID, message: `Schedule not found: ${error.scheduleID}` });
|
|
35
|
+
}
|
|
36
|
+
function disabled() {
|
|
37
|
+
return new ForbiddenError({ message: new Schedule.DisabledError().message });
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { makeSchedule2 };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/reference.ts
|
|
9
9
|
import { Reference } from "@opencode/core/reference";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/command.ts
|
|
9
9
|
import { Command } from "@opencode/core/command";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./media-uri-gqq6kfhc.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./media-uri-9c4eyh8m.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/integration.ts
|
|
9
9
|
import { Integration } from "@opencode/core/integration";
|
package/dist/cors.js
CHANGED
package/dist/event-feed.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare class EncodingError extends EncodingError_base {
|
|
|
19
19
|
}
|
|
20
20
|
export type Error = SubscriberOverflowError | EncodingError;
|
|
21
21
|
export interface Interface {
|
|
22
|
-
readonly subscribe: Effect.Effect<Stream.Stream<string, Error>, never, Scope.Scope>;
|
|
22
|
+
readonly subscribe: (types?: ReadonlyArray<string>) => Effect.Effect<Stream.Stream<string, Error>, never, Scope.Scope>;
|
|
23
23
|
}
|
|
24
24
|
declare const Service_base: Context.ServiceClass<Service, "@opencode/server/EventFeed", Interface>;
|
|
25
25
|
export declare class Service extends Service_base {
|
package/dist/event-feed.js
CHANGED
|
@@ -2,19 +2,19 @@ import {
|
|
|
2
2
|
SubscriberCapacity2,
|
|
3
3
|
SubscriberOverflowError2,
|
|
4
4
|
EncodingError2,
|
|
5
|
-
|
|
5
|
+
Service2,
|
|
6
6
|
frame2,
|
|
7
7
|
make4,
|
|
8
|
-
|
|
8
|
+
layer2,
|
|
9
9
|
exports_event_feed
|
|
10
|
-
} from "./chunks/
|
|
10
|
+
} from "./chunks/media-uri-fvpjvjpp.js";
|
|
11
11
|
export {
|
|
12
12
|
EncodingError2 as EncodingError,
|
|
13
13
|
exports_event_feed as EventFeed,
|
|
14
|
-
|
|
14
|
+
Service2 as Service,
|
|
15
15
|
SubscriberCapacity2 as SubscriberCapacity,
|
|
16
16
|
SubscriberOverflowError2 as SubscriberOverflowError,
|
|
17
17
|
frame2 as frame,
|
|
18
|
-
|
|
18
|
+
layer2 as layer,
|
|
19
19
|
make4 as make
|
|
20
20
|
};
|
package/dist/fetch.js
CHANGED
|
@@ -1,53 +1,57 @@
|
|
|
1
1
|
import {
|
|
2
2
|
make3,
|
|
3
3
|
exports_fetch
|
|
4
|
-
} from "./chunks/
|
|
5
|
-
import"./chunks/
|
|
6
|
-
import"./chunks/
|
|
7
|
-
import"./chunks/
|
|
8
|
-
import"./chunks/
|
|
9
|
-
import"./chunks/
|
|
10
|
-
import"./chunks/
|
|
11
|
-
import"./chunks/
|
|
12
|
-
import"./chunks/
|
|
13
|
-
import"./chunks/
|
|
14
|
-
import"./chunks/
|
|
15
|
-
import"./chunks/
|
|
16
|
-
import"./chunks/
|
|
17
|
-
import"./chunks/
|
|
18
|
-
import"./chunks/
|
|
19
|
-
import"./chunks/
|
|
20
|
-
import"./chunks/
|
|
21
|
-
import"./chunks/
|
|
22
|
-
import"./chunks/
|
|
23
|
-
import"./chunks/
|
|
24
|
-
import"./chunks/
|
|
25
|
-
import"./chunks/
|
|
26
|
-
import"./chunks/
|
|
27
|
-
import"./chunks/
|
|
28
|
-
import"./chunks/
|
|
29
|
-
import"./chunks/
|
|
30
|
-
import"./chunks/
|
|
31
|
-
import"./chunks/
|
|
32
|
-
import"./chunks/
|
|
33
|
-
import"./chunks/
|
|
34
|
-
import"./chunks/
|
|
35
|
-
import"./chunks/
|
|
36
|
-
import"./chunks/
|
|
37
|
-
import"./chunks/
|
|
38
|
-
import"./chunks/
|
|
39
|
-
import"./chunks/
|
|
40
|
-
import"./chunks/
|
|
41
|
-
import"./chunks/
|
|
42
|
-
import"./chunks/
|
|
43
|
-
import"./chunks/
|
|
44
|
-
import"./chunks/
|
|
45
|
-
import"./chunks/
|
|
46
|
-
import"./chunks/
|
|
47
|
-
import"./chunks/
|
|
48
|
-
import"./chunks/
|
|
49
|
-
import"./chunks/
|
|
50
|
-
import"./chunks/
|
|
4
|
+
} from "./chunks/media-uri-qbhbayp5.js";
|
|
5
|
+
import"./chunks/media-uri-3t6z87e1.js";
|
|
6
|
+
import"./chunks/media-uri-bd8755ek.js";
|
|
7
|
+
import"./chunks/media-uri-7b9xm1qg.js";
|
|
8
|
+
import"./chunks/media-uri-ndydfxzp.js";
|
|
9
|
+
import"./chunks/media-uri-r6vmgwff.js";
|
|
10
|
+
import"./chunks/media-uri-h3g82chs.js";
|
|
11
|
+
import"./chunks/media-uri-hax1v4bv.js";
|
|
12
|
+
import"./chunks/media-uri-8113w26k.js";
|
|
13
|
+
import"./chunks/media-uri-h072q2hm.js";
|
|
14
|
+
import"./chunks/media-uri-wxj3d9av.js";
|
|
15
|
+
import"./chunks/media-uri-2xcc0x05.js";
|
|
16
|
+
import"./chunks/media-uri-j9gxd9me.js";
|
|
17
|
+
import"./chunks/media-uri-hnheq3hv.js";
|
|
18
|
+
import"./chunks/media-uri-ppma8fcc.js";
|
|
19
|
+
import"./chunks/media-uri-1je14sn4.js";
|
|
20
|
+
import"./chunks/media-uri-m5rae7m4.js";
|
|
21
|
+
import"./chunks/media-uri-e46y0tfd.js";
|
|
22
|
+
import"./chunks/media-uri-n321d8vm.js";
|
|
23
|
+
import"./chunks/media-uri-b2k9041j.js";
|
|
24
|
+
import"./chunks/media-uri-0n1e9dnh.js";
|
|
25
|
+
import"./chunks/media-uri-6vs5sqy6.js";
|
|
26
|
+
import"./chunks/media-uri-dk68ymtv.js";
|
|
27
|
+
import"./chunks/media-uri-qn8kkfq6.js";
|
|
28
|
+
import"./chunks/media-uri-zjy4sw3d.js";
|
|
29
|
+
import"./chunks/media-uri-x8dgc261.js";
|
|
30
|
+
import"./chunks/media-uri-0a5jm2na.js";
|
|
31
|
+
import"./chunks/media-uri-c6sjpm0r.js";
|
|
32
|
+
import"./chunks/media-uri-xe9t9xr4.js";
|
|
33
|
+
import"./chunks/media-uri-ckkpcd9y.js";
|
|
34
|
+
import"./chunks/media-uri-h9rcwvg0.js";
|
|
35
|
+
import"./chunks/media-uri-yr4wsvrw.js";
|
|
36
|
+
import"./chunks/media-uri-22wspztn.js";
|
|
37
|
+
import"./chunks/media-uri-wd7b20jw.js";
|
|
38
|
+
import"./chunks/media-uri-xzvdbbpy.js";
|
|
39
|
+
import"./chunks/media-uri-be53s2qz.js";
|
|
40
|
+
import"./chunks/media-uri-prdak4hd.js";
|
|
41
|
+
import"./chunks/media-uri-z59gyc0x.js";
|
|
42
|
+
import"./chunks/media-uri-rztv1fyf.js";
|
|
43
|
+
import"./chunks/media-uri-h6rt5k9s.js";
|
|
44
|
+
import"./chunks/media-uri-fvpjvjpp.js";
|
|
45
|
+
import"./chunks/media-uri-9c4eyh8m.js";
|
|
46
|
+
import"./chunks/media-uri-yet0vexm.js";
|
|
47
|
+
import"./chunks/media-uri-gk0yxcp6.js";
|
|
48
|
+
import"./chunks/media-uri-gqq6kfhc.js";
|
|
49
|
+
import"./chunks/media-uri-smaf4a18.js";
|
|
50
|
+
import"./chunks/media-uri-xthc02cw.js";
|
|
51
|
+
import"./chunks/media-uri-b1prsepx.js";
|
|
52
|
+
import"./chunks/media-uri-j4at0y5c.js";
|
|
53
|
+
import"./chunks/media-uri-mzs0n5xz.js";
|
|
54
|
+
import"./chunks/media-uri-q4bn6dy8.js";
|
|
51
55
|
export {
|
|
52
56
|
exports_fetch as ServerFetch,
|
|
53
57
|
make3 as make
|
package/dist/handlers/agent.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-hnheq3hv.js";
|
|
4
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
5
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
6
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
7
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
8
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
9
9
|
export {
|
|
10
10
|
AgentHandler2 as AgentHandler
|
|
11
11
|
};
|
package/dist/handlers/command.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CommandHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-z59gyc0x.js";
|
|
4
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
5
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
6
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
7
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
8
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
9
9
|
export {
|
|
10
10
|
CommandHandler2 as CommandHandler
|
|
11
11
|
};
|
package/dist/handlers/config.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ConfigHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-b2k9041j.js";
|
|
4
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
5
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
6
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
7
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
8
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
9
9
|
export {
|
|
10
10
|
ConfigHandler2 as ConfigHandler
|
|
11
11
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CredentialHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-be53s2qz.js";
|
|
4
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
5
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
6
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
7
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
8
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
9
9
|
export {
|
|
10
10
|
CredentialHandler2 as CredentialHandler
|
|
11
11
|
};
|
package/dist/handlers/debug.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DebugHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-x8dgc261.js";
|
|
4
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
5
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
6
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
7
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
8
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
9
9
|
export {
|
|
10
10
|
DebugHandler2 as DebugHandler
|
|
11
11
|
};
|
package/dist/handlers/event.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EventHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
9
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-prdak4hd.js";
|
|
4
|
+
import"../chunks/media-uri-fvpjvjpp.js";
|
|
5
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
6
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
7
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
8
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
9
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
10
10
|
export {
|
|
11
11
|
EventHandler2 as EventHandler
|
|
12
12
|
};
|
package/dist/handlers/form.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FormHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-m5rae7m4.js";
|
|
4
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
5
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
6
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
7
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
8
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
9
9
|
export {
|
|
10
10
|
FormHandler2 as FormHandler
|
|
11
11
|
};
|
package/dist/handlers/fs.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { FileWatch } from "@opencode/core/filesystem/file-watch";
|
|
2
|
+
export declare const FileSystemHandler: import("effect/Layer").Layer<import("effect/http-api/HttpApiGroup").Service<"server", "server.fs">, never, import("@opencode/protocol/middleware/authorization").Authorization | import("../location").LocationMiddleware | import("@opencode/protocol/middleware/schema-error").SchemaErrorMiddleware | FileWatch.Service>;
|
package/dist/handlers/fs.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FileSystemHandler2
|
|
3
|
-
} from "../chunks/
|
|
4
|
-
import"../chunks/
|
|
5
|
-
import"../chunks/
|
|
6
|
-
import"../chunks/
|
|
7
|
-
import"../chunks/
|
|
8
|
-
import"../chunks/
|
|
3
|
+
} from "../chunks/media-uri-r6vmgwff.js";
|
|
4
|
+
import"../chunks/media-uri-9c4eyh8m.js";
|
|
5
|
+
import"../chunks/media-uri-yet0vexm.js";
|
|
6
|
+
import"../chunks/media-uri-gk0yxcp6.js";
|
|
7
|
+
import"../chunks/media-uri-gqq6kfhc.js";
|
|
8
|
+
import"../chunks/media-uri-smaf4a18.js";
|
|
9
9
|
export {
|
|
10
10
|
FileSystemHandler2 as FileSystemHandler
|
|
11
11
|
};
|