oc2token 0.1.4 → 0.1.6
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/README.md +15 -15
- package/dist/src/application.js +91 -7
- package/dist/src/application.js.map +1 -1
- package/dist/src/cache/schema.js +8 -2
- package/dist/src/cache/schema.js.map +1 -1
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +218 -39
- package/dist/src/cli.js.map +1 -1
- package/dist/src/dashboard/render/ansi.d.ts +11 -0
- package/dist/src/dashboard/render/ansi.js +19 -0
- package/dist/src/dashboard/render/ansi.js.map +1 -1
- package/dist/src/dashboard/render/dashboard.d.ts +17 -0
- package/dist/src/dashboard/render/dashboard.js +268 -156
- package/dist/src/dashboard/render/dashboard.js.map +1 -1
- package/dist/src/dashboard/render/format.js +3 -3
- package/dist/src/dashboard/render/format.js.map +1 -1
- package/dist/src/dashboard/render/types.d.ts +4 -0
- package/dist/src/dashboard/render/types.js +12 -10
- package/dist/src/dashboard/render/types.js.map +1 -1
- package/dist/src/dashboard/settings/index.d.ts +4 -0
- package/dist/src/dashboard/settings/index.js +15 -2
- package/dist/src/dashboard/settings/index.js.map +1 -1
- package/dist/src/domain/contracts.d.ts +2 -0
- package/dist/src/domain/contracts.js.map +1 -1
- package/dist/src/domain/windows.d.ts +11 -5
- package/dist/src/domain/windows.js +24 -7
- package/dist/src/domain/windows.js.map +1 -1
- package/dist/src/opencode/client.d.ts +1 -0
- package/dist/src/opencode/client.js +49 -4
- package/dist/src/opencode/client.js.map +1 -1
- package/dist/src/opencode/index.d.ts +1 -0
- package/dist/src/opencode/index.js +1 -0
- package/dist/src/opencode/index.js.map +1 -1
- package/dist/src/opencode/native.d.ts +24 -0
- package/dist/src/opencode/native.js +215 -0
- package/dist/src/opencode/native.js.map +1 -0
- package/dist/src/opencode/stats.js +52 -7
- package/dist/src/opencode/stats.js.map +1 -1
- package/dist/src/opencode/transport.js +4 -1
- package/dist/src/opencode/transport.js.map +1 -1
- package/dist/src/output/json.d.ts +1 -1
- package/dist/src/output/json.js +1 -1
- package/dist/src/output/table.js +31 -15
- package/dist/src/output/table.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export declare const USAGE_WINDOW_KINDS: readonly ["hour", "day", "week"];
|
|
1
|
+
export declare const USAGE_WINDOW_KINDS: readonly ["hour", "day", "week", "month"];
|
|
2
2
|
export type UsageWindowKind = (typeof USAGE_WINDOW_KINDS)[number];
|
|
3
3
|
export interface UsageWindowBase {
|
|
4
4
|
/** Short stable key used by the CLI and JSON output. */
|
|
5
5
|
readonly kind: UsageWindowKind;
|
|
6
6
|
/** Human-readable semantics; the kind alone must not be interpreted as all-time. */
|
|
7
|
-
readonly semantics: "rolling-hour" | "local-day" | "iso-week";
|
|
7
|
+
readonly semantics: "rolling-hour" | "local-day" | "iso-week" | "rolling-month";
|
|
8
8
|
/** The IANA time zone used for calendar labels and boundaries. */
|
|
9
9
|
readonly timezone: string;
|
|
10
10
|
/** Inclusive start and exclusive end instants. */
|
|
@@ -30,11 +30,16 @@ export interface ISOWeekWindow extends UsageWindowBase {
|
|
|
30
30
|
/** ISO week label represented as YYYY-Www. */
|
|
31
31
|
readonly isoWeekLabel: string;
|
|
32
32
|
}
|
|
33
|
-
export
|
|
33
|
+
export interface RollingMonthWindow extends UsageWindowBase {
|
|
34
|
+
readonly kind: "month";
|
|
35
|
+
readonly semantics: "rolling-month";
|
|
36
|
+
}
|
|
37
|
+
export type UsageWindow = RollingHourWindow | LocalDayWindow | ISOWeekWindow | RollingMonthWindow;
|
|
34
38
|
export interface UsageWindowSet {
|
|
35
39
|
readonly hour: RollingHourWindow;
|
|
36
40
|
readonly day: LocalDayWindow;
|
|
37
41
|
readonly week: ISOWeekWindow;
|
|
42
|
+
readonly month: RollingMonthWindow;
|
|
38
43
|
}
|
|
39
44
|
/** One half-open, timezone-aware interval used to plot a usage trend. */
|
|
40
45
|
export interface UsageBucket {
|
|
@@ -46,14 +51,15 @@ export interface UsageBucket {
|
|
|
46
51
|
export declare function createUsageWindow(kind: "hour", now: Date, timezone: string): RollingHourWindow;
|
|
47
52
|
export declare function createUsageWindow(kind: "day", now: Date, timezone: string): LocalDayWindow;
|
|
48
53
|
export declare function createUsageWindow(kind: "week", now: Date, timezone: string): ISOWeekWindow;
|
|
49
|
-
|
|
54
|
+
export declare function createUsageWindow(kind: "month", now: Date, timezone: string): RollingMonthWindow;
|
|
55
|
+
/** Build all dashboard windows from the same captured instant, avoiding boundary drift. */
|
|
50
56
|
export declare function createUsageWindows(now: Date, timezone: string): UsageWindowSet;
|
|
51
57
|
/**
|
|
52
58
|
* Build the stable trend intervals for a requested window. Calendar-day
|
|
53
59
|
* buckets advance in elapsed time from the local-day bounds, which preserves
|
|
54
60
|
* both missing and repeated hours on DST transition days. Week buckets use
|
|
55
61
|
* local midnights, so a DST day changes the bucket duration without changing
|
|
56
|
-
* the seven-day shape of the ISO week.
|
|
62
|
+
* the seven-day shape of the ISO week. Rolling-month buckets use elapsed days.
|
|
57
63
|
*/
|
|
58
64
|
export declare function createUsageTrendBuckets(window: UsageWindow): readonly UsageBucket[];
|
|
59
65
|
export declare function containsInstant(window: UsageWindow, instant: Date): boolean;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { DomainError } from "./errors.js";
|
|
2
|
-
export const USAGE_WINDOW_KINDS = ["hour", "day", "week"];
|
|
2
|
+
export const USAGE_WINDOW_KINDS = ["hour", "day", "week", "month"];
|
|
3
3
|
const HOUR_MS = 60 * 60 * 1000;
|
|
4
|
+
const MINUTE_MS = 60 * 1000;
|
|
5
|
+
const FIVE_MINUTES_MS = 5 * MINUTE_MS;
|
|
4
6
|
const DAY_MS = 24 * HOUR_MS;
|
|
5
7
|
const ISO_WEEK_DAYS = 7;
|
|
8
|
+
const ROLLING_MONTH_DAYS = 30;
|
|
6
9
|
function assertValidInstant(value, name) {
|
|
7
10
|
if (!(value instanceof Date) || Number.isNaN(value.getTime())) {
|
|
8
11
|
throw new DomainError("invalid-date", `${name} must be a valid Date`);
|
|
@@ -57,7 +60,7 @@ function trendLabelFormatter(timezone, kind) {
|
|
|
57
60
|
const key = `${timezone}\0${kind}`;
|
|
58
61
|
let formatter = labelFormatterCache.get(key);
|
|
59
62
|
if (formatter === undefined) {
|
|
60
|
-
formatter = new Intl.DateTimeFormat("en-CA", kind === "week"
|
|
63
|
+
formatter = new Intl.DateTimeFormat("en-CA", kind === "week" || kind === "month"
|
|
61
64
|
? { timeZone: timezone, year: "numeric", month: "2-digit", day: "2-digit" }
|
|
62
65
|
: { timeZone: timezone, hour: "2-digit", minute: "2-digit", hourCycle: "h23" });
|
|
63
66
|
labelFormatterCache.set(key, formatter);
|
|
@@ -193,6 +196,19 @@ export function createUsageWindow(kind, now, timezone) {
|
|
|
193
196
|
label: "last 60 minutes",
|
|
194
197
|
};
|
|
195
198
|
}
|
|
199
|
+
if (kind === "month") {
|
|
200
|
+
const from = new Date(now.getTime() - ROLLING_MONTH_DAYS * DAY_MS);
|
|
201
|
+
const to = new Date(now.getTime());
|
|
202
|
+
assertWindowRange(from, to, kind);
|
|
203
|
+
return {
|
|
204
|
+
kind,
|
|
205
|
+
semantics: "rolling-month",
|
|
206
|
+
timezone,
|
|
207
|
+
from,
|
|
208
|
+
to,
|
|
209
|
+
label: "last 30 days",
|
|
210
|
+
};
|
|
211
|
+
}
|
|
196
212
|
const currentDate = localDateAt(now, timezone);
|
|
197
213
|
const dayStart = instantAtLocal({ ...currentDate, hour: 0, minute: 0, second: 0 }, timezone);
|
|
198
214
|
if (kind === "day") {
|
|
@@ -228,12 +244,13 @@ export function createUsageWindow(kind, now, timezone) {
|
|
|
228
244
|
label: isoWeekLabel,
|
|
229
245
|
};
|
|
230
246
|
}
|
|
231
|
-
/** Build all
|
|
247
|
+
/** Build all dashboard windows from the same captured instant, avoiding boundary drift. */
|
|
232
248
|
export function createUsageWindows(now, timezone) {
|
|
233
249
|
return {
|
|
234
250
|
hour: createUsageWindow("hour", now, timezone),
|
|
235
251
|
day: createUsageWindow("day", now, timezone),
|
|
236
252
|
week: createUsageWindow("week", now, timezone),
|
|
253
|
+
month: createUsageWindow("month", now, timezone),
|
|
237
254
|
};
|
|
238
255
|
}
|
|
239
256
|
function trendBucketLabel(instant, timezone, kind) {
|
|
@@ -249,7 +266,7 @@ function trendBucketLabel(instant, timezone, kind) {
|
|
|
249
266
|
* buckets advance in elapsed time from the local-day bounds, which preserves
|
|
250
267
|
* both missing and repeated hours on DST transition days. Week buckets use
|
|
251
268
|
* local midnights, so a DST day changes the bucket duration without changing
|
|
252
|
-
* the seven-day shape of the ISO week.
|
|
269
|
+
* the seven-day shape of the ISO week. Rolling-month buckets use elapsed days.
|
|
253
270
|
*/
|
|
254
271
|
export function createUsageTrendBuckets(window) {
|
|
255
272
|
assertTimeZone(window.timezone);
|
|
@@ -268,14 +285,14 @@ export function createUsageTrendBuckets(window) {
|
|
|
268
285
|
});
|
|
269
286
|
};
|
|
270
287
|
if (window.kind === "hour") {
|
|
271
|
-
const bucketDuration =
|
|
288
|
+
const bucketDuration = MINUTE_MS;
|
|
272
289
|
for (let cursor = window.from.getTime(); cursor < window.to.getTime(); cursor += bucketDuration) {
|
|
273
290
|
append(new Date(cursor), new Date(Math.min(window.to.getTime(), cursor + bucketDuration)));
|
|
274
291
|
}
|
|
275
292
|
return buckets;
|
|
276
293
|
}
|
|
277
|
-
if (window.kind === "day") {
|
|
278
|
-
const bucketDuration =
|
|
294
|
+
if (window.kind === "day" || window.kind === "month") {
|
|
295
|
+
const bucketDuration = window.kind === "day" ? FIVE_MINUTES_MS : DAY_MS;
|
|
279
296
|
for (let cursor = window.from.getTime(); cursor < window.to.getTime(); cursor += bucketDuration) {
|
|
280
297
|
append(new Date(cursor), new Date(Math.min(window.to.getTime(), cursor + bucketDuration)));
|
|
281
298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../src/domain/windows.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../src/domain/windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAiE5E,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/B,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5B,MAAM,eAAe,GAAG,CAAC,GAAG,SAAS,CAAC;AACtC,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC;AAC5B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,SAAS,kBAAkB,CAAC,KAAW,EAAE,IAAY;IACnD,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,0EAA0E;QAC1E,yDAAyD;QACzD,IAAI,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACjF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,0BAA0B,QAAQ,EAAE,EAAE;YAC9E,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAoB;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;AACnE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAEnE,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAE;YAC/D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,IAAqB;IAClE,MAAM,GAAG,GAAG,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;IACnC,IAAI,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CACjC,OAAO,EACP,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO;YACjC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;YAC3E,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CACjF,CAAC;QACF,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAa,EAAE,QAAgB;IAC/C,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,SAAS;SACN,aAAa,CAAC,OAAO,CAAC;SACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;SACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,oDAAoD,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,OAAa,EAAE,QAAgB;IAClD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,IAAmB,EAAE,KAAoB;IAC7D,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACxB,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAC1B,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACtB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACxB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAa,EAAE,QAAgB;IAC/C,wEAAwE;IACxE,wEAAwE;IACxE,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,IAAmB,EAAE,QAAgB;IAC3D,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,4EAA4E;IAC5E,qEAAqE;IACrE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3C,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,eAAe,CAAC;SACjC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,CAAC;SACtD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,qBAAqB,GAAG,kBAAkB,CAAC;IAC/C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClG,IAAI,gBAAgB,KAAK,qBAAqB,EAAE,CAAC;YAC/C,MAAM;QACR,CAAC;QACD,qBAAqB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,IAAe;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE;QAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;QAC7B,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAe,EAAE,IAAY;IACjD,OAAO,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,IAAe;IACjC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7H,CAAC;AAED,SAAS,YAAY,CAAC,IAAe;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IAChE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,IAAe;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC9B,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACpG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAU,EAAE,EAAQ,EAAE,IAAqB;IACpE,kBAAkB,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACzC,kBAAkB,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAuBD,MAAM,UAAU,iBAAiB,CAC/B,IAAqB,EACrB,GAAS,EACT,QAAgB;IAEhB,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,8BAA8B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,cAAc;YACzB,QAAQ;YACR,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,iBAAiB;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,kBAAkB,GAAG,MAAM,CAAC,CAAC;QACnE,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,eAAe;YAC1B,QAAQ;YACR,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,cAAc;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE7F,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3F,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,WAAW;YACtB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,SAAS;YACb,SAAS;YACT,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3F,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACpG,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,UAAU;QACrB,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,OAAO;QACX,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,OAAO,EAAE,IAAI,CAAC,IAAI;QAClB,YAAY;QACZ,KAAK,EAAE,YAAY;KACpB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,kBAAkB,CAChC,GAAS,EACT,QAAgB;IAEhB,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC9C,GAAG,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC5C,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC9C,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAa,EAAE,QAAgB,EAAE,IAAqB;IAC9E,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IACzD,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,EAAQ,EAAQ,EAAE;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,IAAI,WAAW,IAAI,SAAS;YAAE,OAAO;QACrC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;YACjE,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,SAAS,CAAC;QACjC,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;YAChG,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;YAChG,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CACJ,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAChF,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB,EAAE,OAAa;IAChE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;AAC/F,CAAC"}
|
|
@@ -34,6 +34,7 @@ export type OpenCodeClientFactory = (endpoint: Endpoint, options?: OpenCodeClien
|
|
|
34
34
|
/** Create the official promise client with the service's auth headers. */
|
|
35
35
|
export declare function createOpenCodeClient(endpoint: Endpoint, service?: Pick<ServiceLifecycle, "headers">, options?: OpenCodeClientFactoryOptions): OpenCodeClientLike;
|
|
36
36
|
export declare const defaultClientFactory: OpenCodeClientFactory;
|
|
37
|
+
export declare function nativeClientFactory(endpoint: Endpoint, options?: OpenCodeClientFactoryOptions): OpenCodeClientLike;
|
|
37
38
|
export interface ConnectionOptions {
|
|
38
39
|
readonly service?: ServiceLifecycle;
|
|
39
40
|
readonly client?: OpenCodeClientLike;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { Service, headers as serviceHeaders, } from "@opencode-ai/client/service";
|
|
3
3
|
import { OpenCode } from "@opencode-ai/client";
|
|
4
|
+
import { createNativeClient, discoverNativeEndpoint } from "./native.js";
|
|
4
5
|
import { DomainError, cancellationError } from "../domain/index.js";
|
|
5
6
|
export const defaultService = {
|
|
6
7
|
discover: Service.discover,
|
|
@@ -15,7 +16,10 @@ export function createOpenCodeClient(endpoint, service = defaultService, options
|
|
|
15
16
|
fetch: options.fetch,
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
|
-
export const defaultClientFactory = (endpoint, options) =>
|
|
19
|
+
export const defaultClientFactory = (endpoint, options) => createNativeClient(endpoint, options);
|
|
20
|
+
export function nativeClientFactory(endpoint, options = {}) {
|
|
21
|
+
return createNativeClient(endpoint, options);
|
|
22
|
+
}
|
|
19
23
|
function throwIfAborted(signal) {
|
|
20
24
|
if (signal?.aborted) {
|
|
21
25
|
throw cancellationError();
|
|
@@ -43,7 +47,14 @@ function isRecord(value) {
|
|
|
43
47
|
return typeof value === "object" && value !== null;
|
|
44
48
|
}
|
|
45
49
|
function readHealth(value, endpoint) {
|
|
46
|
-
if (!isRecord(value) ||
|
|
50
|
+
if (!isRecord(value) || typeof value.version !== "string") {
|
|
51
|
+
throw new DomainError("invalid-data", "OpenCode health response is missing a version");
|
|
52
|
+
}
|
|
53
|
+
// Servers before 2.0.6 report `{ healthy: true, version, pid }` from
|
|
54
|
+
// `/api/health`. Servers at 2.0.6+ report `{ version, pid, urls, paths }`
|
|
55
|
+
// from `/api/info` with no healthy flag. Accept both; a present healthy
|
|
56
|
+
// flag must still be true so a degraded payload is not mistaken for ready.
|
|
57
|
+
if ("healthy" in value && value.healthy !== undefined && value.healthy !== true) {
|
|
47
58
|
throw new DomainError("invalid-data", "OpenCode health response is missing healthy=true and a version");
|
|
48
59
|
}
|
|
49
60
|
const pid = value.pid;
|
|
@@ -95,21 +106,55 @@ export async function connectOpenCode(options = {}) {
|
|
|
95
106
|
throwIfAborted(signal);
|
|
96
107
|
let endpoint = await service.discover(mergeDiscoveryOptions(options));
|
|
97
108
|
throwIfAborted(signal);
|
|
109
|
+
// The generated client's discover probes `/api/health`, which server 2.0.6
|
|
110
|
+
// removed (replaced by `/api/info`). When it reports nothing, probe the
|
|
111
|
+
// registration file directly before giving up or spawning a new service.
|
|
112
|
+
if (endpoint === undefined && options.service === undefined) {
|
|
113
|
+
try {
|
|
114
|
+
endpoint = await discoverNativeEndpoint({
|
|
115
|
+
...mergeDiscoveryOptions(options),
|
|
116
|
+
fetch: options.fetch,
|
|
117
|
+
...(signal === undefined ? {} : { signal }),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
endpoint = undefined;
|
|
122
|
+
}
|
|
123
|
+
throwIfAborted(signal);
|
|
124
|
+
}
|
|
98
125
|
if (endpoint === undefined) {
|
|
99
126
|
if (options.ensure === false) {
|
|
100
127
|
throw new DomainError("transport", "No healthy OpenCode 2 service was discovered");
|
|
101
128
|
}
|
|
102
129
|
endpoint = await service.ensure(mergeEnsureOptions(options));
|
|
103
130
|
throwIfAborted(signal);
|
|
131
|
+
// A freshly ensured 2.0.6 service still has no `/api/health`, so the
|
|
132
|
+
// endpoint returned by ensure is used directly without re-probing.
|
|
104
133
|
}
|
|
105
134
|
const normalizedEndpoint = assertEndpoint(endpoint);
|
|
106
|
-
const client = options.client ?? (options.clientFactory ?? ((target, factoryOptions) =>
|
|
135
|
+
const client = options.client ?? (options.clientFactory ?? ((target, factoryOptions) => createNativeClient(target, factoryOptions)))(normalizedEndpoint, {
|
|
107
136
|
fetch: options.fetch,
|
|
108
137
|
});
|
|
109
138
|
if (client.health === undefined || typeof client.health.get !== "function") {
|
|
110
139
|
throw new DomainError("invalid-data", "OpenCode client does not expose health.get");
|
|
111
140
|
}
|
|
112
|
-
|
|
141
|
+
let rawHealth;
|
|
142
|
+
try {
|
|
143
|
+
rawHealth = await client.health.get({ signal });
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
// An injected legacy generated client hits the removed `/api/health` and
|
|
147
|
+
// fails with 404 against a 2.0.6 server. Retry once over the native
|
|
148
|
+
// routes instead of reporting the service as undiscoverable.
|
|
149
|
+
if (options.client === undefined || options.service !== undefined)
|
|
150
|
+
throw error;
|
|
151
|
+
const native = createNativeClient(normalizedEndpoint, { fetch: options.fetch });
|
|
152
|
+
rawHealth = await native.health.get({ signal });
|
|
153
|
+
const health = parseOpenCodeHealth(rawHealth, normalizedEndpoint);
|
|
154
|
+
throwIfAborted(signal);
|
|
155
|
+
return { endpoint: normalizedEndpoint, client: native, health };
|
|
156
|
+
}
|
|
157
|
+
const health = parseOpenCodeHealth(rawHealth, normalizedEndpoint);
|
|
113
158
|
throwIfAborted(signal);
|
|
114
159
|
return { endpoint: normalizedEndpoint, client, health };
|
|
115
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/opencode/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,OAAO,EACP,OAAO,IAAI,cAAc,GAI1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/opencode/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/opencode/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/opencode/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DiscoverOptions, Endpoint } from "@opencode-ai/client/service";
|
|
2
|
+
import type { OpenCodeClientLike } from "./client.js";
|
|
3
|
+
export interface NativeDiscoveryOptions extends DiscoverOptions {
|
|
4
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
5
|
+
readonly signal?: AbortSignal;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Discover a running OpenCode 2 service without depending on the generated
|
|
9
|
+
* client's `/api/health` probe (removed in server 2.0.6; replaced by
|
|
10
|
+
* `/api/info`). Reads the same registration file and probes `/api/info`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function discoverNativeEndpoint(options?: NativeDiscoveryOptions): Promise<Endpoint | undefined>;
|
|
13
|
+
/**
|
|
14
|
+
* HTTP client speaking the server 2.0.6 routes directly:
|
|
15
|
+
* - health via `/api/info` (fallback `/api/health`)
|
|
16
|
+
* - stats via `/api/experimental/session/stats` (fallback `/api/session/stats`)
|
|
17
|
+
* - sessions via `/api/session`, messages via `/api/session/{id}/message`
|
|
18
|
+
*
|
|
19
|
+
* Implements the same OpenCodeClientLike seam as the generated client so the
|
|
20
|
+
* existing transport, retry, and parsing logic is reused unchanged.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createNativeClient(endpoint: Endpoint, options?: {
|
|
23
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
24
|
+
}): OpenCodeClientLike;
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { headers as serviceHeaders } from "@opencode-ai/client/service";
|
|
5
|
+
function defaultServiceFile() {
|
|
6
|
+
const base = process.env.XDG_STATE_HOME ?? join(homedir(), ".local", "state");
|
|
7
|
+
return join(base, "opencode", "service.json");
|
|
8
|
+
}
|
|
9
|
+
async function readRegistration(file) {
|
|
10
|
+
const path = file ?? defaultServiceFile();
|
|
11
|
+
let text;
|
|
12
|
+
try {
|
|
13
|
+
text = await readFile(path, "utf8");
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const parsed = JSON.parse(text);
|
|
20
|
+
if (typeof parsed.url !== "string" || parsed.url.length === 0)
|
|
21
|
+
return undefined;
|
|
22
|
+
return {
|
|
23
|
+
url: parsed.url,
|
|
24
|
+
...(typeof parsed.password === "string" ? { password: parsed.password } : {}),
|
|
25
|
+
...(parsed.pid === undefined ? {} : { pid: parsed.pid }),
|
|
26
|
+
...(parsed.version === undefined ? {} : { version: parsed.version }),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function endpointFromRegistration(registration) {
|
|
34
|
+
return {
|
|
35
|
+
url: registration.url,
|
|
36
|
+
...(registration.password === undefined
|
|
37
|
+
? {}
|
|
38
|
+
: { auth: { type: "basic", username: "opencode", password: registration.password } }),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function matchesVersion(version, options) {
|
|
42
|
+
if (options.version === undefined)
|
|
43
|
+
return true;
|
|
44
|
+
if (version === undefined)
|
|
45
|
+
return false;
|
|
46
|
+
if (typeof options.version === "function")
|
|
47
|
+
return options.version(version);
|
|
48
|
+
return version === options.version;
|
|
49
|
+
}
|
|
50
|
+
function authHeaders(endpoint) {
|
|
51
|
+
return serviceHeaders(endpoint) ?? {};
|
|
52
|
+
}
|
|
53
|
+
async function fetchJson(endpoint, path, query, fetchFn, signal) {
|
|
54
|
+
const url = new URL(path, endpoint.url);
|
|
55
|
+
for (const [key, value] of Object.entries(query)) {
|
|
56
|
+
if (value !== undefined)
|
|
57
|
+
url.searchParams.set(key, String(value));
|
|
58
|
+
}
|
|
59
|
+
const response = await fetchFn(url.toString(), {
|
|
60
|
+
method: "GET",
|
|
61
|
+
headers: { accept: "application/json", ...authHeaders(endpoint) },
|
|
62
|
+
...(signal === undefined ? {} : { signal }),
|
|
63
|
+
});
|
|
64
|
+
if (!response.ok) {
|
|
65
|
+
const error = new Error(`OpenCode service returned HTTP ${response.status} for ${path}`);
|
|
66
|
+
error.status = response.status;
|
|
67
|
+
error.response = response;
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
return response.json();
|
|
71
|
+
}
|
|
72
|
+
async function probeInfo(endpoint, fetchFn, signal) {
|
|
73
|
+
try {
|
|
74
|
+
const body = (await fetchJson(endpoint, "/api/info", {}, fetchFn, signal));
|
|
75
|
+
if (typeof body.version === "string")
|
|
76
|
+
return body;
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Discover a running OpenCode 2 service without depending on the generated
|
|
85
|
+
* client's `/api/health` probe (removed in server 2.0.6; replaced by
|
|
86
|
+
* `/api/info`). Reads the same registration file and probes `/api/info`.
|
|
87
|
+
*/
|
|
88
|
+
export async function discoverNativeEndpoint(options = {}) {
|
|
89
|
+
const registration = await readRegistration(options.file);
|
|
90
|
+
if (registration === undefined)
|
|
91
|
+
return undefined;
|
|
92
|
+
const endpoint = endpointFromRegistration(registration);
|
|
93
|
+
const fetchFn = options.fetch ?? globalThis.fetch;
|
|
94
|
+
const info = await probeInfo(endpoint, fetchFn, options.signal);
|
|
95
|
+
if (info === undefined) {
|
|
96
|
+
// Fall back to a legacy /api/health probe for pre-2.0 servers.
|
|
97
|
+
try {
|
|
98
|
+
const legacy = (await fetchJson(endpoint, "/api/health", {}, fetchFn, options.signal));
|
|
99
|
+
if (legacy.healthy !== true || typeof legacy.version !== "string")
|
|
100
|
+
return undefined;
|
|
101
|
+
if (!matchesVersion(legacy.version, options))
|
|
102
|
+
return undefined;
|
|
103
|
+
return endpoint;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (!matchesVersion(info.version, options))
|
|
110
|
+
return undefined;
|
|
111
|
+
return endpoint;
|
|
112
|
+
}
|
|
113
|
+
function statusOf(error) {
|
|
114
|
+
if (typeof error !== "object" || error === null)
|
|
115
|
+
return undefined;
|
|
116
|
+
const status = error.status;
|
|
117
|
+
return typeof status === "number" && Number.isInteger(status) ? status : undefined;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* HTTP client speaking the server 2.0.6 routes directly:
|
|
121
|
+
* - health via `/api/info` (fallback `/api/health`)
|
|
122
|
+
* - stats via `/api/experimental/session/stats` (fallback `/api/session/stats`)
|
|
123
|
+
* - sessions via `/api/session`, messages via `/api/session/{id}/message`
|
|
124
|
+
*
|
|
125
|
+
* Implements the same OpenCodeClientLike seam as the generated client so the
|
|
126
|
+
* existing transport, retry, and parsing logic is reused unchanged.
|
|
127
|
+
*/
|
|
128
|
+
export function createNativeClient(endpoint, options = {}) {
|
|
129
|
+
const fetchFn = options.fetch ?? globalThis.fetch;
|
|
130
|
+
async function get(path, query, requestOptions) {
|
|
131
|
+
const signal = requestOptions?.signal;
|
|
132
|
+
return fetchJson(endpoint, path, query, fetchFn, signal);
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
health: {
|
|
136
|
+
get: async (requestOptions) => {
|
|
137
|
+
try {
|
|
138
|
+
return await get("/api/info", {}, requestOptions);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
if (statusOf(error) !== 404)
|
|
142
|
+
throw error;
|
|
143
|
+
return get("/api/health", {}, requestOptions);
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
session: {
|
|
148
|
+
list: async (input, requestOptions) => {
|
|
149
|
+
const query = {};
|
|
150
|
+
if (input !== null && typeof input === "object") {
|
|
151
|
+
for (const key of ["limit", "cursor", "order", "search", "parentID", "directory", "project", "subpath", "workspace"]) {
|
|
152
|
+
const value = input[key];
|
|
153
|
+
if (typeof value === "string" || typeof value === "number")
|
|
154
|
+
query[key] = value;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return get("/api/session", query, requestOptions);
|
|
158
|
+
},
|
|
159
|
+
stats: async (input, requestOptions) => {
|
|
160
|
+
const query = {};
|
|
161
|
+
if (input !== null && typeof input === "object") {
|
|
162
|
+
for (const key of ["from", "to", "project", "timezone", "tools"]) {
|
|
163
|
+
const value = input[key];
|
|
164
|
+
if (typeof value === "string" || typeof value === "number")
|
|
165
|
+
query[key] = value;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
const body = await get("/api/experimental/session/stats", query, requestOptions);
|
|
170
|
+
if (typeof body === "object" &&
|
|
171
|
+
body !== null &&
|
|
172
|
+
"data" in body &&
|
|
173
|
+
!("range" in body)) {
|
|
174
|
+
return body.data;
|
|
175
|
+
}
|
|
176
|
+
return body;
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
if (statusOf(error) !== 404)
|
|
180
|
+
throw error;
|
|
181
|
+
const fallback = await get("/api/session/stats", query, requestOptions);
|
|
182
|
+
if (typeof fallback === "object" &&
|
|
183
|
+
fallback !== null &&
|
|
184
|
+
"data" in fallback &&
|
|
185
|
+
!("range" in fallback)) {
|
|
186
|
+
return fallback.data;
|
|
187
|
+
}
|
|
188
|
+
return fallback;
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
message: {
|
|
193
|
+
list: async (input, requestOptions) => {
|
|
194
|
+
const record = (input ?? {});
|
|
195
|
+
const sessionID = record.sessionID;
|
|
196
|
+
if (typeof sessionID !== "string" || sessionID.length === 0) {
|
|
197
|
+
throw new Error("message list requires a sessionID");
|
|
198
|
+
}
|
|
199
|
+
const query = {};
|
|
200
|
+
for (const key of ["limit", "cursor", "order", "type"]) {
|
|
201
|
+
const value = record[key];
|
|
202
|
+
if (typeof value === "string" || typeof value === "number")
|
|
203
|
+
query[key] = value;
|
|
204
|
+
}
|
|
205
|
+
return get(`/api/session/${encodeURIComponent(sessionID)}/message`, query, requestOptions);
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
project: {
|
|
209
|
+
list: async (requestOptions) => {
|
|
210
|
+
return get("/api/project", {}, requestOptions);
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/opencode/native.ts"],"names":[],"mappings":"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"}
|