@opencode/server 0.0.0-dev-20670 → 0.0.0-dev-20677
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.js +5 -5
- package/dist/auth.js +1 -1
- package/dist/chunks/{pty-environment-rwwc81rq.js → handlers-060srtya.js} +1 -1
- package/dist/chunks/{pty-environment-nxdx74sv.js → handlers-0ecscp27.js} +1 -1
- package/dist/chunks/{pty-environment-0y03q8mn.js → handlers-16cmqpda.js} +2 -2
- package/dist/chunks/{pty-environment-zhympcbw.js → handlers-1fqejx75.js} +2 -2
- package/dist/chunks/{pty-environment-1kbkbftd.js → handlers-2zvpq8tw.js} +3 -3
- package/dist/chunks/{pty-environment-rhnwnf76.js → handlers-457g4xwd.js} +1 -1
- package/dist/chunks/{pty-environment-cm271yqe.js → handlers-4gv8dmwt.js} +2 -2
- package/dist/chunks/{pty-environment-99sfd1j8.js → handlers-54sczv30.js} +6 -6
- package/dist/chunks/{pty-environment-xsrtpxyd.js → handlers-5w24ch67.js} +4 -4
- package/dist/chunks/{pty-environment-1q557k81.js → handlers-65qdte8q.js} +8 -8
- package/dist/chunks/{pty-environment-dy0yben3.js → handlers-7egb8ksf.js} +1 -1
- package/dist/chunks/{pty-environment-bvp1r88z.js → handlers-7t5fpf2c.js} +2 -2
- package/dist/chunks/{pty-environment-c6kb7fmf.js → handlers-93wjydnn.js} +7 -7
- package/dist/chunks/{pty-environment-mjepr257.js → handlers-a0mxgf8z.js} +1 -1
- package/dist/chunks/{pty-environment-anm12x33.js → handlers-anm12x33.js} +1 -1
- package/dist/chunks/{pty-environment-agftk6b6.js → handlers-ct6j8k4q.js} +2 -2
- package/dist/chunks/{pty-environment-r5bb0n1s.js → handlers-cyyt3kqa.js} +1 -1
- package/dist/chunks/{pty-environment-48z6cw93.js → handlers-d1921aaj.js} +3 -3
- package/dist/chunks/{pty-environment-80mhd8t7.js → handlers-d1f2njwp.js} +2 -2
- package/dist/chunks/{pty-environment-w1fepcwh.js → handlers-ejv1yz41.js} +2 -2
- package/dist/chunks/handlers-es2fkh3t.js +106 -0
- package/dist/chunks/{pty-environment-eekrj6qv.js → handlers-fhsc782f.js} +1 -1
- package/dist/chunks/{pty-environment-wb43dd8f.js → handlers-gdwmkdcz.js} +2 -2
- package/dist/chunks/{pty-environment-gtkdacvk.js → handlers-gtkdacvk.js} +1 -1
- package/dist/chunks/{pty-environment-8c9kbrtm.js → handlers-gxmggy00.js} +1 -1
- package/dist/chunks/{pty-environment-3q3rk0h0.js → handlers-h1s215xd.js} +31 -31
- package/dist/chunks/{pty-environment-8mycc54y.js → handlers-hcz7vqkd.js} +19 -19
- package/dist/chunks/{pty-environment-4qyjttng.js → handlers-hz0cd1s4.js} +2 -2
- package/dist/chunks/{pty-environment-q92t5be2.js → handlers-k90hjrvz.js} +5 -5
- package/dist/chunks/{pty-environment-a7pkbba5.js → handlers-km405m0n.js} +4 -4
- package/dist/chunks/{pty-environment-j3pdvhe2.js → handlers-kx8p1w95.js} +2 -2
- package/dist/chunks/{pty-environment-jxc39wgw.js → handlers-m8mbkj90.js} +3 -3
- package/dist/chunks/{pty-environment-1w9kp1gg.js → handlers-mfpjbjd2.js} +2 -2
- package/dist/chunks/{pty-environment-06zrh5md.js → handlers-mjwexbc0.js} +2 -2
- package/dist/chunks/{pty-environment-d00srfh1.js → handlers-ra34escy.js} +1 -1
- package/dist/chunks/{pty-environment-sstsrjtg.js → handlers-rbn15j6z.js} +8 -8
- package/dist/chunks/{pty-environment-cy7y42ks.js → handlers-seaefwbv.js} +3 -3
- package/dist/chunks/{pty-environment-acgs9zzk.js → handlers-svzp39e6.js} +3 -3
- package/dist/chunks/{pty-environment-t70dy8sr.js → handlers-tawg2cre.js} +2 -2
- package/dist/chunks/{pty-environment-g9rgg5ys.js → handlers-v9z5c7vm.js} +2 -2
- package/dist/chunks/{pty-environment-hh8sn2n4.js → handlers-y99jf6a7.js} +6 -6
- package/dist/chunks/{pty-environment-m6xk774d.js → handlers-yptx5jm6.js} +2 -2
- package/dist/chunks/{pty-environment-s1rvn990.js → handlers-zj6jgztj.js} +6 -6
- package/dist/chunks/{pty-environment-gj6tv0s4.js → handlers-zy772eq6.js} +2 -2
- package/dist/cors.js +1 -1
- package/dist/event-feed.js +3 -3
- package/dist/fetch.js +49 -49
- 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.js +6 -6
- 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 +6 -6
- package/dist/handlers/message.js +6 -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.js +8 -8
- package/dist/handlers/plugin.js +6 -6
- 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 +9 -9
- package/dist/handlers/reference.js +6 -6
- package/dist/handlers/rpc.js +6 -6
- package/dist/handlers/server.js +9 -9
- package/dist/handlers/session-error.js +1 -1
- package/dist/handlers/session.js +6 -6
- package/dist/handlers/shell.js +6 -6
- package/dist/handlers/skill.js +6 -6
- package/dist/handlers/vcs.js +6 -6
- package/dist/handlers/websearch.js +6 -6
- package/dist/handlers/worktree.js +6 -6
- package/dist/handlers.js +43 -43
- package/dist/location.js +4 -4
- 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 +5 -5
- package/dist/process.js +51 -51
- package/dist/pty-environment.js +5 -5
- package/dist/request-tracing.js +1 -1
- package/dist/routes.js +46 -46
- package/dist/server-info.js +5 -5
- package/dist/service-status.js +3 -3
- package/dist/workerd.js +50 -50
- package/package.json +8 -8
- package/dist/chunks/pty-environment-tyjvvckp.js +0 -34
- /package/dist/chunks/{pty-environment-9rqn6x4v.js → handlers-9rqn6x4v.js} +0 -0
- /package/dist/chunks/{pty-environment-hezj1jdf.js → handlers-hezj1jdf.js} +0 -0
- /package/dist/chunks/{pty-environment-q4bn6dy8.js → handlers-q4bn6dy8.js} +0 -0
- /package/dist/chunks/{pty-environment-smaf4a18.js → handlers-smaf4a18.js} +0 -0
- /package/dist/chunks/{pty-environment-t8yzmczr.js → handlers-t8yzmczr.js} +0 -0
- /package/dist/chunks/{pty-environment-yc7nft6q.js → handlers-yc7nft6q.js} +0 -0
package/dist/api.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Api2
|
|
3
|
-
} from "./chunks/
|
|
4
|
-
import"./chunks/
|
|
5
|
-
import"./chunks/
|
|
6
|
-
import"./chunks/
|
|
7
|
-
import"./chunks/
|
|
3
|
+
} from "./chunks/handlers-m8mbkj90.js";
|
|
4
|
+
import"./chunks/handlers-ra34escy.js";
|
|
5
|
+
import"./chunks/handlers-0ecscp27.js";
|
|
6
|
+
import"./chunks/handlers-svzp39e6.js";
|
|
7
|
+
import"./chunks/handlers-smaf4a18.js";
|
|
8
8
|
export {
|
|
9
9
|
Api2 as Api
|
|
10
10
|
};
|
package/dist/auth.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-svzp39e6.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-m8mbkj90.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 "./handlers-svzp39e6.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-m8mbkj90.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/shell.ts
|
|
9
9
|
import { Shell } from "@opencode/core/shell";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
missingSession2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-smaf4a18.js";
|
|
4
4
|
import {
|
|
5
5
|
locationErrors2,
|
|
6
6
|
response2,
|
|
7
7
|
sessionInfo2
|
|
8
|
-
} from "./
|
|
8
|
+
} from "./handlers-svzp39e6.js";
|
|
9
9
|
import {
|
|
10
10
|
Api2
|
|
11
|
-
} from "./
|
|
11
|
+
} from "./handlers-m8mbkj90.js";
|
|
12
12
|
|
|
13
13
|
// src/handlers/permission.ts
|
|
14
14
|
import { Instance } from "@opencode/core/instance/service";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-svzp39e6.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-m8mbkj90.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/skill.ts
|
|
9
9
|
import { Skill } from "@opencode/core/skill";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__export
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-9rqn6x4v.js";
|
|
4
4
|
|
|
5
5
|
// src/event-feed.ts
|
|
6
6
|
var exports_event_feed = {};
|
|
7
7
|
__export(exports_event_feed, {
|
|
8
8
|
EncodingError: () => EncodingError2,
|
|
9
9
|
EventFeed: () => exports_event_feed,
|
|
10
|
-
Service: () =>
|
|
10
|
+
Service: () => Service5,
|
|
11
11
|
SubscriberCapacity: () => SubscriberCapacity2,
|
|
12
12
|
SubscriberOverflowError: () => SubscriberOverflowError2,
|
|
13
13
|
frame: () => frame2,
|
|
@@ -30,7 +30,7 @@ class EncodingError2 extends Schema.TaggedError()("EventFeed.EncodingError", {
|
|
|
30
30
|
}) {
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
class
|
|
33
|
+
class Service5 extends Context.Service()("@opencode/server/EventFeed") {
|
|
34
34
|
}
|
|
35
35
|
function frame2(event) {
|
|
36
36
|
return `data: ${JSON.stringify(event)}
|
|
@@ -71,13 +71,13 @@ var make4 = Effect.fn("EventFeed.make")(function* (observe, options) {
|
|
|
71
71
|
});
|
|
72
72
|
const unsubscribe = yield* observe(publish);
|
|
73
73
|
yield* Effect.addFinalizer(() => unsubscribe);
|
|
74
|
-
return
|
|
74
|
+
return Service5.of({
|
|
75
75
|
subscribe: Effect.acquireRelease(Queue.dropping(capacity).pipe(Effect.tap((queue) => Effect.sync(() => subscribers.add(queue)))), (queue) => Effect.sync(() => subscribers.delete(queue)).pipe(Effect.andThen(Queue.shutdown(queue)), Effect.asVoid)).pipe(Effect.map(Stream.fromQueue))
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
|
-
var layer5 = Layer.effect(
|
|
78
|
+
var layer5 = Layer.effect(Service5, Effect.gen(function* () {
|
|
79
79
|
const bus = yield* Bus.Service;
|
|
80
80
|
return yield* make4(bus.listen);
|
|
81
81
|
}));
|
|
82
82
|
|
|
83
|
-
export { SubscriberCapacity2, SubscriberOverflowError2, EncodingError2,
|
|
83
|
+
export { SubscriberCapacity2, SubscriberOverflowError2, EncodingError2, Service5, frame2, make4, layer5, exports_event_feed };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__export
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-9rqn6x4v.js";
|
|
4
4
|
|
|
5
5
|
// src/service-status.ts
|
|
6
6
|
var exports_service_status = {};
|
|
7
7
|
__export(exports_service_status, {
|
|
8
8
|
Status: () => exports_service_status,
|
|
9
|
-
make: () =>
|
|
9
|
+
make: () => make3
|
|
10
10
|
});
|
|
11
11
|
import { Effect, Ref } from "effect";
|
|
12
|
-
var
|
|
12
|
+
var make3 = Effect.fnUntraced(function* (options = {}) {
|
|
13
13
|
const current = yield* Ref.make(options.initial ?? { type: "starting" });
|
|
14
14
|
const beginStopping = Ref.update(current, (status) => status.type === "stopping" ? status : { type: "stopping" });
|
|
15
15
|
return {
|
|
@@ -20,4 +20,4 @@ var make2 = Effect.fnUntraced(function* (options = {}) {
|
|
|
20
20
|
};
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
-
export {
|
|
23
|
+
export { make3, exports_service_status };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Api2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-m8mbkj90.js";
|
|
4
4
|
import {
|
|
5
5
|
SESSION_TTL_SECONDS2,
|
|
6
6
|
Config2,
|
|
7
7
|
issueSession2,
|
|
8
8
|
sessionCookieName2
|
|
9
|
-
} from "./
|
|
9
|
+
} from "./handlers-anm12x33.js";
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
} from "./
|
|
11
|
+
Service4
|
|
12
|
+
} from "./handlers-93wjydnn.js";
|
|
13
13
|
import {
|
|
14
|
-
|
|
15
|
-
} from "./
|
|
14
|
+
Service2
|
|
15
|
+
} from "./handlers-rbn15j6z.js";
|
|
16
16
|
|
|
17
17
|
// src/handlers/server.ts
|
|
18
18
|
import { Duration, Effect } from "effect";
|
|
@@ -21,10 +21,10 @@ import { HttpApiBuilder } from "effect/unstable/httpapi";
|
|
|
21
21
|
import { PersistentPty } from "@opencode/core/persistent-pty";
|
|
22
22
|
import { UnauthorizedError } from "@opencode/protocol/errors";
|
|
23
23
|
var ServerHandler2 = HttpApiBuilder.group(Api2, "server.server", (handlers) => Effect.gen(function* () {
|
|
24
|
-
const pairing = yield*
|
|
24
|
+
const pairing = yield* Service2;
|
|
25
25
|
const auth = yield* Config2;
|
|
26
26
|
return handlers.handle("server.info", () => Effect.gen(function* () {
|
|
27
|
-
const info = yield*
|
|
27
|
+
const info = yield* Service4;
|
|
28
28
|
return {
|
|
29
29
|
version: info.app.version ?? "unknown",
|
|
30
30
|
pid: process.pid ?? 0,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
missingSession2,
|
|
3
3
|
failedMessageDecode2
|
|
4
|
-
} from "./
|
|
4
|
+
} from "./handlers-smaf4a18.js";
|
|
5
5
|
import {
|
|
6
6
|
Api2
|
|
7
|
-
} from "./
|
|
7
|
+
} from "./handlers-m8mbkj90.js";
|
|
8
8
|
|
|
9
9
|
// src/handlers/message.ts
|
|
10
10
|
import { SessionMessage } from "@opencode/core/session/message";
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__export
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-9rqn6x4v.js";
|
|
4
4
|
|
|
5
5
|
// src/server-info.ts
|
|
6
6
|
var exports_server_info = {};
|
|
7
7
|
__export(exports_server_info, {
|
|
8
8
|
ServerInfo: () => exports_server_info,
|
|
9
|
-
Service: () =>
|
|
9
|
+
Service: () => Service4,
|
|
10
10
|
connectionURLs: () => connectionURLs2,
|
|
11
|
-
layer: () =>
|
|
11
|
+
layer: () => layer4
|
|
12
12
|
});
|
|
13
13
|
import { Context, Layer } from "effect";
|
|
14
14
|
import { networkInterfaces } from "node:os";
|
|
15
15
|
|
|
16
|
-
class
|
|
16
|
+
class Service4 extends Context.Service()("@opencode/server/ServerInfo") {
|
|
17
17
|
}
|
|
18
|
-
function
|
|
19
|
-
return Layer.succeed(
|
|
18
|
+
function layer4(urls, tmp, app = {}) {
|
|
19
|
+
return Layer.succeed(Service4, Service4.of({ urls, app, paths: { tmp } }));
|
|
20
20
|
}
|
|
21
21
|
function connectionURLs2(value, requestedHostname) {
|
|
22
22
|
const url = new URL(value);
|
|
@@ -38,4 +38,4 @@ function connectionURLs2(value, requestedHostname) {
|
|
|
38
38
|
];
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
export {
|
|
41
|
+
export { Service4, layer4, connectionURLs2, exports_server_info };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-svzp39e6.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-m8mbkj90.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/form.ts
|
|
9
9
|
import { Form } from "@opencode/core/form";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Api2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-m8mbkj90.js";
|
|
4
4
|
import {
|
|
5
5
|
CorsConfig2,
|
|
6
6
|
isAllowedRequestOrigin2
|
|
7
|
-
} from "./
|
|
7
|
+
} from "./handlers-q4bn6dy8.js";
|
|
8
8
|
import {
|
|
9
9
|
runPtySocket2
|
|
10
|
-
} from "./
|
|
10
|
+
} from "./handlers-hezj1jdf.js";
|
|
11
11
|
|
|
12
12
|
// src/handlers/persistent-pty.ts
|
|
13
13
|
import { PersistentPty } from "@opencode/core/persistent-pty";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-svzp39e6.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-m8mbkj90.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/websearch.ts
|
|
9
9
|
import { WebSearch } from "@opencode/core/websearch";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
response2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-svzp39e6.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-m8mbkj90.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/plugin.ts
|
|
9
9
|
import { Plugin } from "@opencode/core/plugin";
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import {
|
|
2
|
+
response2
|
|
3
|
+
} from "./handlers-svzp39e6.js";
|
|
4
|
+
import {
|
|
5
|
+
Api2
|
|
6
|
+
} from "./handlers-m8mbkj90.js";
|
|
7
|
+
|
|
8
|
+
// src/handlers/fs.ts
|
|
9
|
+
import { FileSystem } from "@opencode/core/filesystem";
|
|
10
|
+
import { RelativePath } from "@opencode/core/schema";
|
|
11
|
+
import { FileNotFoundError } from "@opencode/protocol/errors";
|
|
12
|
+
import { Effect, Option, Stream } from "effect";
|
|
13
|
+
import { HttpServerResponse } from "effect/unstable/http";
|
|
14
|
+
import { HttpApiBuilder } from "effect/unstable/httpapi";
|
|
15
|
+
var FileSystemHandler2 = HttpApiBuilder.group(Api2, "server.fs", (handlers) => Effect.gen(function* () {
|
|
16
|
+
return handlers.handleRaw("fs.read", (ctx) => Effect.gen(function* () {
|
|
17
|
+
const path = yield* decodeRequestPath(ctx.request.url);
|
|
18
|
+
const fs = yield* FileSystem.Service;
|
|
19
|
+
const file = yield* fs.read({ path }).pipe(Effect.mapError((error) => new FileNotFoundError({ path: error.path, message: `File not found: ${error.path}` })));
|
|
20
|
+
return serveFile(ctx.request, file);
|
|
21
|
+
})).handle("fs.list", (ctx) => response2(Effect.gen(function* () {
|
|
22
|
+
const fs = yield* FileSystem.Service;
|
|
23
|
+
return yield* fs.list(ctx.query);
|
|
24
|
+
}))).handle("fs.find", (ctx) => response2(Effect.gen(function* () {
|
|
25
|
+
const fs = yield* FileSystem.Service;
|
|
26
|
+
return yield* fs.find(ctx.query);
|
|
27
|
+
}))).handle("fs.write", (ctx) => response2(Effect.gen(function* () {
|
|
28
|
+
const fs = yield* FileSystem.Service;
|
|
29
|
+
return yield* fs.write({ path: ctx.query.path, data: ctx.payload });
|
|
30
|
+
})));
|
|
31
|
+
}));
|
|
32
|
+
function decodeRequestPath(url) {
|
|
33
|
+
const raw = new URL(url, "http://localhost").pathname.slice(13);
|
|
34
|
+
return Effect.try({
|
|
35
|
+
try: () => RelativePath.make(decodeURIComponent(raw)),
|
|
36
|
+
catch: () => new FileNotFoundError({ path: raw, message: `File not found: ${raw}` })
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function serveFile(request, file) {
|
|
40
|
+
const etag = `W/"${file.size.toString(16)}-${Option.match(file.mtime, {
|
|
41
|
+
onNone: () => "0",
|
|
42
|
+
onSome: (mtime) => mtime.getTime().toString(16)
|
|
43
|
+
})}"`;
|
|
44
|
+
const lastModified = Option.getOrUndefined(Option.map(file.mtime, (mtime) => mtime.toUTCString()));
|
|
45
|
+
const validators = {
|
|
46
|
+
"cache-control": "no-cache, no-transform",
|
|
47
|
+
etag,
|
|
48
|
+
...lastModified === undefined ? {} : { "last-modified": lastModified }
|
|
49
|
+
};
|
|
50
|
+
if (isNotModified(request, etag, lastModified))
|
|
51
|
+
return HttpServerResponse.empty({ status: 304, headers: validators });
|
|
52
|
+
const rangeHeader = request.method === "GET" ? request.headers["range"] : undefined;
|
|
53
|
+
const range = rangeHeader !== undefined && matchesIfRange(request.headers["if-range"], etag, lastModified) ? parseRange(rangeHeader, file.size) : undefined;
|
|
54
|
+
if (range === "unsatisfiable")
|
|
55
|
+
return HttpServerResponse.empty({
|
|
56
|
+
status: 416,
|
|
57
|
+
headers: { "accept-ranges": "bytes", "content-range": `bytes */${file.size}` }
|
|
58
|
+
});
|
|
59
|
+
const offset = range?.start ?? 0;
|
|
60
|
+
const length = range === undefined ? file.size : range.end - range.start + 1;
|
|
61
|
+
return HttpServerResponse.stream(length === 0 ? Stream.empty : file.stream({ offset, bytesToRead: length }), {
|
|
62
|
+
status: range === undefined ? 200 : 206,
|
|
63
|
+
contentLength: length,
|
|
64
|
+
headers: {
|
|
65
|
+
...validators,
|
|
66
|
+
"accept-ranges": "bytes",
|
|
67
|
+
"content-type": file.mime,
|
|
68
|
+
...range === undefined ? {} : { "content-range": `bytes ${range.start}-${range.end}/${file.size}` }
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function isNotModified(request, etag, lastModified) {
|
|
73
|
+
const ifNoneMatch = request.headers["if-none-match"];
|
|
74
|
+
if (ifNoneMatch !== undefined)
|
|
75
|
+
return ifNoneMatch.split(",").some((tag) => tag.trim() === "*" || stripWeak(tag) === stripWeak(etag));
|
|
76
|
+
const ifModifiedSince = request.headers["if-modified-since"];
|
|
77
|
+
return ifModifiedSince !== undefined && lastModified !== undefined && Date.parse(lastModified) <= Date.parse(ifModifiedSince);
|
|
78
|
+
}
|
|
79
|
+
function matchesIfRange(ifRange, etag, lastModified) {
|
|
80
|
+
if (ifRange === undefined)
|
|
81
|
+
return true;
|
|
82
|
+
if (/^\s*(w\/)?"/i.test(ifRange))
|
|
83
|
+
return stripWeak(ifRange) === stripWeak(etag);
|
|
84
|
+
return lastModified !== undefined && Date.parse(ifRange) === Date.parse(lastModified);
|
|
85
|
+
}
|
|
86
|
+
function stripWeak(etag) {
|
|
87
|
+
return etag.trim().replace(/^w\//i, "");
|
|
88
|
+
}
|
|
89
|
+
function parseRange(header, size) {
|
|
90
|
+
const match = /^bytes=\s*(\d*)\s*-\s*(\d*)\s*$/i.exec(header.trim());
|
|
91
|
+
if (match === null || match[1] === "" && match[2] === "")
|
|
92
|
+
return;
|
|
93
|
+
if (match[1] === "") {
|
|
94
|
+
const suffix = Number(match[2]);
|
|
95
|
+
if (suffix === 0 || size === 0)
|
|
96
|
+
return "unsatisfiable";
|
|
97
|
+
return { start: Math.max(size - suffix, 0), end: size - 1 };
|
|
98
|
+
}
|
|
99
|
+
const start = Number(match[1]);
|
|
100
|
+
const end = match[2] === "" ? size - 1 : Number(match[2]);
|
|
101
|
+
if (start > end || start >= size)
|
|
102
|
+
return "unsatisfiable";
|
|
103
|
+
return { start, end: Math.min(end, size - 1) };
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export { FileSystemHandler2 };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
locationErrors2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-svzp39e6.js";
|
|
4
4
|
import {
|
|
5
5
|
Api2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-m8mbkj90.js";
|
|
7
7
|
|
|
8
8
|
// src/handlers/generate.ts
|
|
9
9
|
import { Generate } from "@opencode/core/generate";
|
|
@@ -1,96 +1,96 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GenerateHandler2
|
|
3
|
-
} from "./
|
|
3
|
+
} from "./handlers-gdwmkdcz.js";
|
|
4
4
|
import {
|
|
5
5
|
MessageHandler2
|
|
6
|
-
} from "./
|
|
6
|
+
} from "./handlers-7t5fpf2c.js";
|
|
7
7
|
import {
|
|
8
8
|
ModelHandler2
|
|
9
|
-
} from "./
|
|
9
|
+
} from "./handlers-zy772eq6.js";
|
|
10
10
|
import {
|
|
11
11
|
ProviderHandler2
|
|
12
|
-
} from "./
|
|
12
|
+
} from "./handlers-hz0cd1s4.js";
|
|
13
13
|
import {
|
|
14
14
|
SessionHandler2
|
|
15
|
-
} from "./
|
|
15
|
+
} from "./handlers-seaefwbv.js";
|
|
16
16
|
import {
|
|
17
17
|
PermissionHandler2
|
|
18
|
-
} from "./
|
|
18
|
+
} from "./handlers-2zvpq8tw.js";
|
|
19
19
|
import {
|
|
20
20
|
FileSystemHandler2
|
|
21
|
-
} from "./
|
|
21
|
+
} from "./handlers-es2fkh3t.js";
|
|
22
22
|
import {
|
|
23
23
|
FormHandler2
|
|
24
|
-
} from "./
|
|
24
|
+
} from "./handlers-ct6j8k4q.js";
|
|
25
25
|
import {
|
|
26
26
|
CommandHandler2
|
|
27
|
-
} from "./
|
|
27
|
+
} from "./handlers-16cmqpda.js";
|
|
28
28
|
import {
|
|
29
29
|
SkillHandler2
|
|
30
|
-
} from "./
|
|
30
|
+
} from "./handlers-4gv8dmwt.js";
|
|
31
31
|
import {
|
|
32
32
|
RpcHandler2
|
|
33
|
-
} from "./
|
|
33
|
+
} from "./handlers-gxmggy00.js";
|
|
34
34
|
import {
|
|
35
35
|
layer5
|
|
36
|
-
} from "./
|
|
36
|
+
} from "./handlers-54sczv30.js";
|
|
37
37
|
import {
|
|
38
38
|
EventHandler2
|
|
39
|
-
} from "./
|
|
39
|
+
} from "./handlers-km405m0n.js";
|
|
40
40
|
import {
|
|
41
41
|
AgentHandler2
|
|
42
|
-
} from "./
|
|
42
|
+
} from "./handlers-mfpjbjd2.js";
|
|
43
43
|
import {
|
|
44
44
|
PluginHandler2
|
|
45
|
-
} from "./
|
|
45
|
+
} from "./handlers-ejv1yz41.js";
|
|
46
46
|
import {
|
|
47
47
|
ServerHandler2
|
|
48
|
-
} from "./
|
|
48
|
+
} from "./handlers-65qdte8q.js";
|
|
49
49
|
import {
|
|
50
50
|
DebugHandler2
|
|
51
|
-
} from "./
|
|
51
|
+
} from "./handlers-yptx5jm6.js";
|
|
52
52
|
import {
|
|
53
53
|
PtyHandler2
|
|
54
|
-
} from "./
|
|
54
|
+
} from "./handlers-k90hjrvz.js";
|
|
55
55
|
import {
|
|
56
56
|
PersistentPtyHandler2
|
|
57
|
-
} from "./
|
|
57
|
+
} from "./handlers-d1921aaj.js";
|
|
58
58
|
import {
|
|
59
59
|
ShellHandler2
|
|
60
|
-
} from "./
|
|
60
|
+
} from "./handlers-1fqejx75.js";
|
|
61
61
|
import {
|
|
62
62
|
ReferenceHandler2
|
|
63
|
-
} from "./
|
|
63
|
+
} from "./handlers-tawg2cre.js";
|
|
64
64
|
import {
|
|
65
65
|
LocationHandler2
|
|
66
|
-
} from "./
|
|
66
|
+
} from "./handlers-a0mxgf8z.js";
|
|
67
67
|
import {
|
|
68
68
|
IntegrationHandler2
|
|
69
|
-
} from "./
|
|
69
|
+
} from "./handlers-mjwexbc0.js";
|
|
70
70
|
import {
|
|
71
71
|
WebSearchHandler2
|
|
72
|
-
} from "./
|
|
72
|
+
} from "./handlers-d1f2njwp.js";
|
|
73
73
|
import {
|
|
74
74
|
McpHandler2
|
|
75
|
-
} from "./
|
|
75
|
+
} from "./handlers-kx8p1w95.js";
|
|
76
76
|
import {
|
|
77
77
|
CredentialHandler2
|
|
78
|
-
} from "./
|
|
78
|
+
} from "./handlers-fhsc782f.js";
|
|
79
79
|
import {
|
|
80
80
|
ProjectHandler2
|
|
81
|
-
} from "./
|
|
81
|
+
} from "./handlers-7egb8ksf.js";
|
|
82
82
|
import {
|
|
83
83
|
WorktreeHandler2
|
|
84
|
-
} from "./
|
|
84
|
+
} from "./handlers-060srtya.js";
|
|
85
85
|
import {
|
|
86
86
|
VcsHandler2
|
|
87
|
-
} from "./
|
|
87
|
+
} from "./handlers-v9z5c7vm.js";
|
|
88
88
|
import {
|
|
89
89
|
MigrationHandler2
|
|
90
|
-
} from "./
|
|
90
|
+
} from "./handlers-457g4xwd.js";
|
|
91
91
|
import {
|
|
92
92
|
ConfigHandler2
|
|
93
|
-
} from "./
|
|
93
|
+
} from "./handlers-cyyt3kqa.js";
|
|
94
94
|
|
|
95
95
|
// src/handlers.ts
|
|
96
96
|
import { Layer } from "effect";
|