@kilocode/client 0.0.0-stage → 0.0.0-v2-9

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.
Files changed (94) hide show
  1. package/README.md +26 -2
  2. package/dist/chunks/contract-15p82y03.js +62 -0
  3. package/dist/chunks/contract-1x65x4hv.js +1701 -0
  4. package/dist/chunks/contract-5bf0yjkp.js +111 -0
  5. package/dist/chunks/contract-6mptkzbc.js +0 -0
  6. package/dist/chunks/contract-8bbb028w.js +145 -0
  7. package/dist/chunks/contract-8s2anffy.js +11 -0
  8. package/dist/chunks/contract-8ye1ye6f.js +92 -0
  9. package/dist/chunks/contract-9rqn6x4v.js +16 -0
  10. package/dist/chunks/contract-c46qzyff.js +37 -0
  11. package/dist/chunks/contract-gne7h7mq.js +50 -0
  12. package/dist/chunks/contract-hjez4bfs.js +52 -0
  13. package/dist/chunks/contract-m2eywc8w.js +0 -0
  14. package/dist/chunks/contract-nwcpakzx.js +12 -0
  15. package/dist/chunks/contract-qav6mfdz.js +0 -0
  16. package/dist/chunks/contract-ryy6kscr.js +39 -0
  17. package/dist/chunks/contract-s2hya144.js +1524 -0
  18. package/dist/chunks/contract-skhp7hxc.js +81 -0
  19. package/dist/chunks/contract-sxt88q69.js +12 -0
  20. package/dist/chunks/contract-ve4aws36.js +103 -0
  21. package/dist/chunks/contract-vmytr4q8.js +4 -0
  22. package/dist/chunks/contract-vwtmm97t.js +30 -0
  23. package/dist/chunks/contract-vyas3vgt.js +0 -0
  24. package/dist/chunks/contract-w10x3kfx.js +658 -0
  25. package/dist/chunks/contract-xgnj2w4v.js +20 -0
  26. package/dist/chunks/contract-y2etg5bs.js +9 -0
  27. package/dist/chunks/contract-ydhz1zrh.js +238 -0
  28. package/dist/contract.d.ts +1 -0
  29. package/dist/contract.js +12 -0
  30. package/dist/effect/api/api.d.ts +2927 -0
  31. package/dist/effect/api/api.js +0 -0
  32. package/dist/effect/api.d.ts +4 -0
  33. package/dist/effect/api.js +0 -0
  34. package/dist/effect/client.d.ts +2569 -0
  35. package/dist/effect/client.js +15 -0
  36. package/dist/effect/generated/client-error.d.ts +7 -0
  37. package/dist/effect/generated/client-error.js +6 -0
  38. package/dist/effect/generated/client.d.ts +2568 -0
  39. package/dist/effect/generated/client.js +8 -0
  40. package/dist/effect/generated/index.d.ts +2 -0
  41. package/dist/effect/generated/index.js +12 -0
  42. package/dist/effect/index.d.ts +35 -0
  43. package/dist/effect/index.js +75 -0
  44. package/dist/effect/rpc.d.ts +20 -0
  45. package/dist/effect/rpc.js +11 -0
  46. package/dist/effect/service.d.ts +90 -0
  47. package/dist/effect/service.js +187 -0
  48. package/dist/mcp.d.ts +44 -0
  49. package/dist/mcp.js +110 -0
  50. package/dist/promise/api.d.ts +21 -0
  51. package/dist/promise/api.js +0 -0
  52. package/dist/promise/client.d.ts +270 -0
  53. package/dist/promise/client.js +14 -0
  54. package/dist/promise/generated/client-error.d.ts +8 -0
  55. package/dist/promise/generated/client-error.js +6 -0
  56. package/dist/promise/generated/client.d.ts +277 -0
  57. package/dist/promise/generated/client.js +7 -0
  58. package/dist/promise/generated/index.d.ts +3 -0
  59. package/dist/promise/generated/index.js +81 -0
  60. package/dist/promise/generated/types.d.ts +7877 -0
  61. package/dist/promise/generated/types.js +72 -0
  62. package/dist/promise/index.d.ts +6 -0
  63. package/dist/promise/index.js +85 -0
  64. package/dist/promise/rpc.d.ts +32 -0
  65. package/dist/promise/rpc.js +7 -0
  66. package/dist/promise/service.d.ts +24 -0
  67. package/dist/promise/service.js +187 -0
  68. package/dist/pty-handoff.d.ts +12 -0
  69. package/dist/pty-handoff.js +17 -0
  70. package/dist/rpc-runtime.d.ts +20 -0
  71. package/dist/rpc-runtime.js +14 -0
  72. package/dist/service-contender.d.ts +37 -0
  73. package/dist/service-contender.js +10 -0
  74. package/dist/service-probe.d.ts +70 -0
  75. package/dist/service-probe.js +16 -0
  76. package/dist/service-timing.d.ts +12 -0
  77. package/dist/service-timing.js +10 -0
  78. package/dist/service-version.d.ts +2 -0
  79. package/dist/service-version.js +6 -0
  80. package/dist/service.d.ts +52 -0
  81. package/dist/service.js +1 -0
  82. package/dist/shared-events.d.ts +11 -0
  83. package/dist/shared-events.js +8 -0
  84. package/dist/solid/connection.d.ts +37 -0
  85. package/dist/solid/connection.js +10 -0
  86. package/dist/solid/data.d.ts +211 -0
  87. package/dist/solid/data.js +18 -0
  88. package/dist/solid/index.d.ts +4 -0
  89. package/dist/solid/index.js +36 -0
  90. package/dist/solid/pty.d.ts +22 -0
  91. package/dist/solid/pty.js +8 -0
  92. package/dist/solid/usage.d.ts +9 -0
  93. package/dist/solid/usage.js +6 -0
  94. package/package.json +88 -4
@@ -0,0 +1,81 @@
1
+ import {
2
+ isRpcError2,
3
+ isRpcInternalError2
4
+ } from "./contract-c46qzyff.js";
5
+
6
+ // src/promise/rpc.ts
7
+ function makeRpc2(raw, events) {
8
+ return (definition) => {
9
+ const subscribe = (name, options) => {
10
+ if (!Object.hasOwn(definition.events, name))
11
+ throw new Error(`Unknown RPC event: ${definition.id}.${name}`);
12
+ const type = eventType(definition, name);
13
+ return {
14
+ [Symbol.asyncIterator]() {
15
+ const controller = new AbortController;
16
+ const signal = options?.signal ? AbortSignal.any([controller.signal, options.signal]) : controller.signal;
17
+ const iterator = async function* () {
18
+ try {
19
+ for await (const published of events.subscribe({ signal })) {
20
+ if (signal.aborted)
21
+ return;
22
+ if (published.type !== type)
23
+ continue;
24
+ yield published;
25
+ }
26
+ } catch (error) {
27
+ if (!signal.aborted)
28
+ throw error;
29
+ } finally {
30
+ controller.abort();
31
+ }
32
+ }();
33
+ return {
34
+ next: () => iterator.next(),
35
+ return: () => {
36
+ controller.abort();
37
+ return iterator.return();
38
+ }
39
+ };
40
+ }
41
+ };
42
+ };
43
+ return Object.assign(Object.fromEntries(Object.keys(definition.methods).map((name) => [
44
+ name,
45
+ async (input, options) => {
46
+ try {
47
+ const result = await raw.rpc.call({
48
+ rpcID: definition.id,
49
+ method: name,
50
+ input,
51
+ location: options?.location
52
+ }, { signal: options?.signal, headers: options?.headers });
53
+ return result.output;
54
+ } catch (error) {
55
+ if (!isRpcError2(error) && !isRpcInternalError2(error))
56
+ throw error;
57
+ throw error.data === undefined ? { type: error.type, message: error.message } : { type: error.type, message: error.message, data: error.data };
58
+ }
59
+ }
60
+ ])), {
61
+ events: {
62
+ subscribe,
63
+ on: (name, handler, options) => {
64
+ const controller = new AbortController;
65
+ const signal = options?.signal ? AbortSignal.any([controller.signal, options.signal]) : controller.signal;
66
+ const source = subscribe(name, { signal });
67
+ (async () => {
68
+ for await (const event of source)
69
+ await handler(event);
70
+ })().catch((error) => console.error(error));
71
+ return () => controller.abort();
72
+ }
73
+ }
74
+ });
75
+ };
76
+ }
77
+ function eventType(definition, name) {
78
+ return `rpc.${definition.id}.${name}`;
79
+ }
80
+
81
+ export { makeRpc2 };
@@ -0,0 +1,12 @@
1
+ // src/service-version.ts
2
+ function matchesVersion2(version, options) {
3
+ if (options.version === undefined)
4
+ return true;
5
+ if (version === undefined)
6
+ return false;
7
+ if (typeof options.version === "function")
8
+ return options.version(version);
9
+ return version === options.version;
10
+ }
11
+
12
+ export { matchesVersion2 };
@@ -0,0 +1,103 @@
1
+ // src/service-contender.ts
2
+ import { spawn } from "node:child_process";
3
+ var stderrLimit = 8 * 1024;
4
+ function spawnServiceContender2(command, args, env) {
5
+ const child = spawn(command, args, {
6
+ detached: true,
7
+ windowsHide: true,
8
+ stdio: ["ignore", "ignore", "pipe"],
9
+ env: { ...process.env, ...env }
10
+ });
11
+ let error;
12
+ let closed = false;
13
+ let stderr = Buffer.alloc(0);
14
+ const onStderr = (chunk) => {
15
+ const tail = chunk.subarray(-stderrLimit);
16
+ stderr = tail.length === stderrLimit ? Buffer.from(tail) : Buffer.concat([stderr.subarray(-(stderrLimit - tail.length)), tail]);
17
+ };
18
+ child.stderr?.on("data", onStderr);
19
+ if (child.stderr !== null && "unref" in child.stderr && typeof child.stderr.unref === "function")
20
+ child.stderr.unref();
21
+ child.once("error", (cause) => {
22
+ error = new Error("Failed to start server", { cause });
23
+ });
24
+ child.once("close", () => {
25
+ closed = true;
26
+ });
27
+ child.unref();
28
+ return {
29
+ child,
30
+ error: () => error,
31
+ closed: () => closed,
32
+ stderr: () => stderr.toString("utf8").trim(),
33
+ release: () => {
34
+ child.stderr?.off("data", onStderr);
35
+ child.stderr?.resume();
36
+ stderr = Buffer.alloc(0);
37
+ }
38
+ };
39
+ }
40
+ function contenderPool2(timing) {
41
+ const contenders = new Set;
42
+ let failure;
43
+ let spawnDelay = timing.spawnDelay;
44
+ let lastSpawn = 0;
45
+ return {
46
+ failure: () => failure,
47
+ serviceAnswered() {
48
+ spawnDelay = timing.spawnDelay;
49
+ },
50
+ evict(pid) {
51
+ for (const item of contenders) {
52
+ if (item.child.pid === pid || contenderFinished2(item)) {
53
+ item.release();
54
+ contenders.delete(item);
55
+ }
56
+ }
57
+ failure = undefined;
58
+ lastSpawn = 0;
59
+ },
60
+ recruitNow() {
61
+ lastSpawn = Date.now() - spawnDelay;
62
+ },
63
+ reap() {
64
+ const finished = [...contenders].filter(contenderFinished2);
65
+ failure ??= finished.map(contenderFailure).find((error) => error !== undefined);
66
+ if (finished.some((item) => item.child.exitCode === 0))
67
+ spawnDelay = Math.min(spawnDelay * 2, timing.maxSpawnDelay);
68
+ finished.forEach((item) => contenders.delete(item));
69
+ return contenders.size === 0 ? failure : undefined;
70
+ },
71
+ shouldRecruit(registered) {
72
+ if (lastSpawn === 0 && registered)
73
+ lastSpawn = Date.now();
74
+ return failure === undefined && contenders.size < 2 && Date.now() - lastSpawn >= spawnDelay;
75
+ },
76
+ add(contender) {
77
+ contenders.add(contender);
78
+ lastSpawn = Date.now();
79
+ },
80
+ releaseAll() {
81
+ contenders.forEach((contender) => contender.release());
82
+ }
83
+ };
84
+ }
85
+ function contenderFailure(contender) {
86
+ const error = contender.error();
87
+ if (error !== undefined)
88
+ return error;
89
+ if (contender.child.exitCode !== null && contender.child.exitCode !== 0)
90
+ return startupError(`Server process exited with code ${contender.child.exitCode}`, contender.stderr());
91
+ if (contender.child.signalCode !== null)
92
+ return startupError(`Server process terminated by ${contender.child.signalCode}`, contender.stderr());
93
+ return;
94
+ }
95
+ function contenderFinished2(contender) {
96
+ return contender.error() !== undefined || contender.closed();
97
+ }
98
+ function startupError(message, stderr) {
99
+ return new Error(stderr ? `${message}
100
+ ${stderr}` : message);
101
+ }
102
+
103
+ export { spawnServiceContender2, contenderPool2, contenderFinished2 };
@@ -0,0 +1,4 @@
1
+ // src/contract.ts
2
+ import { ClientApi as ClientApi2, effectOmitEndpoints as effectOmitEndpoints2, groupNames as groupNames2, promiseOmitEndpoints as promiseOmitEndpoints2 } from "@opencode/protocol/client";
3
+
4
+ export { ClientApi2, effectOmitEndpoints2, groupNames2, promiseOmitEndpoints2 };
@@ -0,0 +1,30 @@
1
+ import {
2
+ make7
3
+ } from "./contract-8bbb028w.js";
4
+ import {
5
+ make6
6
+ } from "./contract-s2hya144.js";
7
+ import {
8
+ makeRpc2
9
+ } from "./contract-skhp7hxc.js";
10
+ import {
11
+ __export
12
+ } from "./contract-9rqn6x4v.js";
13
+
14
+ // src/promise/client.ts
15
+ var exports_client3 = {};
16
+ __export(exports_client3, {
17
+ OpenCode: () => exports_client3,
18
+ make: () => make5
19
+ });
20
+ function make5(options) {
21
+ const raw = make6(options);
22
+ const events = make7((signal, onActivity) => raw.event.subscribe({ signal, onActivity }));
23
+ return {
24
+ ...raw,
25
+ rpc: Object.assign(makeRpc2(raw, events), raw.rpc),
26
+ event: events
27
+ };
28
+ }
29
+
30
+ export { make5, exports_client3 };
File without changes