@botiverse/oar 0.0.7 → 0.0.8

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 (98) hide show
  1. package/dist/contracts/list-models.d.ts +45 -0
  2. package/dist/contracts/list-models.d.ts.map +1 -0
  3. package/dist/contracts/list-models.js +2 -0
  4. package/dist/contracts/list-models.js.map +1 -0
  5. package/dist/contracts/runtime.d.ts +2 -0
  6. package/dist/contracts/runtime.d.ts.map +1 -1
  7. package/dist/contracts/runtime.js.map +1 -1
  8. package/dist/contracts/session.d.ts +1 -0
  9. package/dist/contracts/session.d.ts.map +1 -1
  10. package/dist/index.d.ts +6 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +5 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/runtimes/claude/index.d.ts +2 -0
  15. package/dist/runtimes/claude/index.d.ts.map +1 -1
  16. package/dist/runtimes/claude/index.js +3 -0
  17. package/dist/runtimes/claude/index.js.map +1 -1
  18. package/dist/runtimes/claude/list-models.d.ts +11 -0
  19. package/dist/runtimes/claude/list-models.d.ts.map +1 -0
  20. package/dist/runtimes/claude/list-models.js +122 -0
  21. package/dist/runtimes/claude/list-models.js.map +1 -0
  22. package/dist/runtimes/claude/session.d.ts.map +1 -1
  23. package/dist/runtimes/claude/session.js +9 -0
  24. package/dist/runtimes/claude/session.js.map +1 -1
  25. package/dist/runtimes/codex/index.d.ts +2 -0
  26. package/dist/runtimes/codex/index.d.ts.map +1 -1
  27. package/dist/runtimes/codex/index.js +3 -0
  28. package/dist/runtimes/codex/index.js.map +1 -1
  29. package/dist/runtimes/codex/list-models.d.ts +11 -0
  30. package/dist/runtimes/codex/list-models.d.ts.map +1 -0
  31. package/dist/runtimes/codex/list-models.js +85 -0
  32. package/dist/runtimes/codex/list-models.js.map +1 -0
  33. package/dist/runtimes/codex/session.d.ts.map +1 -1
  34. package/dist/runtimes/codex/session.js +22 -0
  35. package/dist/runtimes/codex/session.js.map +1 -1
  36. package/dist/runtimes/grok/index.d.ts +2 -0
  37. package/dist/runtimes/grok/index.d.ts.map +1 -1
  38. package/dist/runtimes/grok/index.js +3 -0
  39. package/dist/runtimes/grok/index.js.map +1 -1
  40. package/dist/runtimes/grok/list-models.d.ts +17 -0
  41. package/dist/runtimes/grok/list-models.d.ts.map +1 -0
  42. package/dist/runtimes/grok/list-models.js +103 -0
  43. package/dist/runtimes/grok/list-models.js.map +1 -0
  44. package/dist/runtimes/kimi/index.d.ts +2 -0
  45. package/dist/runtimes/kimi/index.d.ts.map +1 -1
  46. package/dist/runtimes/kimi/index.js +3 -0
  47. package/dist/runtimes/kimi/index.js.map +1 -1
  48. package/dist/runtimes/kimi/list-models.d.ts +12 -0
  49. package/dist/runtimes/kimi/list-models.d.ts.map +1 -0
  50. package/dist/runtimes/kimi/list-models.js +113 -0
  51. package/dist/runtimes/kimi/list-models.js.map +1 -0
  52. package/dist/runtimes/kimi/session.d.ts.map +1 -1
  53. package/dist/runtimes/kimi/session.js +3 -0
  54. package/dist/runtimes/kimi/session.js.map +1 -1
  55. package/dist/runtimes/pi/index.d.ts +2 -0
  56. package/dist/runtimes/pi/index.d.ts.map +1 -1
  57. package/dist/runtimes/pi/index.js +3 -0
  58. package/dist/runtimes/pi/index.js.map +1 -1
  59. package/dist/runtimes/pi/list-models.d.ts +48 -0
  60. package/dist/runtimes/pi/list-models.d.ts.map +1 -0
  61. package/dist/runtimes/pi/list-models.js +66 -0
  62. package/dist/runtimes/pi/list-models.js.map +1 -0
  63. package/dist/runtimes/pi/resolve.d.ts +42 -0
  64. package/dist/runtimes/pi/resolve.d.ts.map +1 -0
  65. package/dist/runtimes/pi/resolve.js +52 -0
  66. package/dist/runtimes/pi/resolve.js.map +1 -0
  67. package/dist/runtimes/pi/session.d.ts +14 -0
  68. package/dist/runtimes/pi/session.d.ts.map +1 -1
  69. package/dist/runtimes/pi/session.js +72 -40
  70. package/dist/runtimes/pi/session.js.map +1 -1
  71. package/dist/shared/acp/model.d.ts +36 -0
  72. package/dist/shared/acp/model.d.ts.map +1 -0
  73. package/dist/shared/acp/model.js +48 -0
  74. package/dist/shared/acp/model.js.map +1 -0
  75. package/dist/shared/acp/profile.d.ts +16 -0
  76. package/dist/shared/acp/profile.d.ts.map +1 -1
  77. package/dist/shared/acp/profile.js +5 -2
  78. package/dist/shared/acp/profile.js.map +1 -1
  79. package/dist/shared/acp/session.d.ts.map +1 -1
  80. package/dist/shared/acp/session.js +16 -7
  81. package/dist/shared/acp/session.js.map +1 -1
  82. package/dist/shared/acp/usage-wait.d.ts +30 -0
  83. package/dist/shared/acp/usage-wait.d.ts.map +1 -0
  84. package/dist/shared/acp/usage-wait.js +34 -0
  85. package/dist/shared/acp/usage-wait.js.map +1 -0
  86. package/dist/shared/effort-levels.d.ts +10 -0
  87. package/dist/shared/effort-levels.d.ts.map +1 -0
  88. package/dist/shared/effort-levels.js +33 -0
  89. package/dist/shared/effort-levels.js.map +1 -0
  90. package/dist/shared/executable/process.d.ts +1 -0
  91. package/dist/shared/executable/process.d.ts.map +1 -1
  92. package/dist/shared/executable/process.js +5 -1
  93. package/dist/shared/executable/process.js.map +1 -1
  94. package/dist/shared/json.d.ts +2 -0
  95. package/dist/shared/json.d.ts.map +1 -1
  96. package/dist/shared/json.js +15 -0
  97. package/dist/shared/json.js.map +1 -1
  98. package/package.json +1 -1
@@ -2,11 +2,10 @@ import { asRecord } from "../json.js";
2
2
  import { sealSession } from "../seal-session.js";
3
3
  import { createSessionKernel } from "../session-kernel.js";
4
4
  import { AcpError, acpProcessExitedError } from "./errors.js";
5
- import { closeAcpSession, hasAcpCapability, openAcpSession, promptAcp, } from "./profile.js";
5
+ import { closeAcpSession, createAcpModelReadback, createUsageUpdateGate, hasAcpCapability, openAcpSession, promptAcp, } from "./profile.js";
6
6
  import { methods, startAcpProcess } from "./process.js";
7
7
  import { acpFailureOutcome, acpRuntimeExitedOutcome, createAcpProjectionState, defaultAcpPromptOutcome, finishAcpTools, projectAcpUpdate, } from "./projection.js";
8
8
  import { createAcpClientApp, createAcpTerminalHost } from "./terminal.js";
9
- function ignoreUpdate(_notification) { }
10
9
  export function acpSession(profile) {
11
10
  return async (installation, options) => {
12
11
  if (installation.via !== "executable") {
@@ -18,19 +17,23 @@ export function acpSession(profile) {
18
17
  const terminalHost = createAcpTerminalHost(options.cwd, environment, {
19
18
  shellCommand: profile.terminalShellCommand === true,
20
19
  });
21
- let receiveUpdate = ignoreUpdate;
22
- const runtime = startAcpProcess(installation.command, args, createAcpClientApp(terminalHost, (notification) => {
20
+ // Watched from the first frame: kimi pushes its model config_option_update
21
+ // before session/set_model is answered, i.e. before the session is open.
22
+ const model = createAcpModelReadback();
23
+ let receiveUpdate = (notification) => {
24
+ model.observe(asRecord(notification.update));
25
+ };
26
+ const client = createAcpClientApp(terminalHost, (notification) => {
23
27
  receiveUpdate(notification);
24
- }), {
25
- cwd: options.cwd,
26
- env: environment,
27
28
  });
29
+ const runtime = startAcpProcess(installation.command, args, client, { cwd: options.cwd, env: environment });
28
30
  const opened = await openAcpSession(runtime, profile, options).catch(async (error) => {
29
31
  runtime.kill();
30
32
  await runtime.exited;
31
33
  await terminalHost.dispose();
32
34
  throw error;
33
35
  });
36
+ model.opened(opened);
34
37
  const capabilities = asRecord(opened.initialized.agentCapabilities);
35
38
  const sessionCapabilities = asRecord(capabilities?.sessionCapabilities);
36
39
  const supportsClose = hasAcpCapability(sessionCapabilities?.close);
@@ -38,6 +41,7 @@ export function acpSession(profile) {
38
41
  const held = [];
39
42
  let active = null;
40
43
  let contextUsage = null;
44
+ const usageGate = createUsageUpdateGate();
41
45
  let nextRequest = 0;
42
46
  let disposed = false;
43
47
  let dead = false;
@@ -72,9 +76,11 @@ export function acpSession(profile) {
72
76
  if (update === null) {
73
77
  return;
74
78
  }
79
+ model.observe(update);
75
80
  const state = active;
76
81
  const projected = projectAcpUpdate(state?.projection ?? createAcpProjectionState(), update);
77
82
  contextUsage = projected.contextUsage ?? contextUsage;
83
+ usageGate.observe(projected.contextUsage);
78
84
  if (state !== null && !state.kernelTurn.settled()) {
79
85
  for (const body of projected.bodies) {
80
86
  state.kernelTurn.emit(body);
@@ -98,7 +104,9 @@ export function acpSession(profile) {
98
104
  state.pending.add(requestNumber);
99
105
  void (async () => {
100
106
  try {
107
+ usageGate.arm();
101
108
  const result = await promptAcp(runtime, opened.sessionId, input, extraParams);
109
+ await usageGate.settleAfterPrompt(profile, state.abortRequested);
102
110
  contextUsage = profile.promptContextUsage?.(result) ?? contextUsage;
103
111
  finishRequest(state, requestNumber, profile.promptOutcome?.(result) ?? defaultAcpPromptOutcome(result));
104
112
  }
@@ -215,6 +223,7 @@ export function acpSession(profile) {
215
223
  },
216
224
  subscribe: (observer) => kernel.subscribe(observer),
217
225
  contextUsage: () => contextUsage,
226
+ model: model.current,
218
227
  queue: {
219
228
  durable: false,
220
229
  add: async (input) => {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/shared/acp/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { ContextUsage } from "../../contracts/session.js";
2
+ import type { AcpSessionProfile } from "./profile.js";
3
+ /**
4
+ * Bridges the gap between an agent's `session/prompt` answer and the
5
+ * `usage_update` it pushes afterwards.
6
+ *
7
+ * kimi-code f9ca33376 packages/acp-server/src/session.ts `onTurnEnded`
8
+ * (lines 907-921) resolves the prompt response and then calls
9
+ * `void this.emitUsageUpdate()` (lines 923-945), which awaits
10
+ * `kosong.listModels()` and `agent.getContext()` before notifying, and returns
11
+ * without a push when the catalog has no `max_context_size` for the current
12
+ * model. Settling the OAR turn on the response alone therefore leaves
13
+ * `contextUsage()` at the PREVIOUS turn's value at `turn_ended`, and there is
14
+ * no guarantee an update ever comes — hence a bounded wait, not a barrier.
15
+ */
16
+ export interface UsageUpdateGate {
17
+ /** Forget any update seen so far; call before sending the prompt. */
18
+ readonly arm: () => void;
19
+ /** Feed every projected update; only a present usage counts as arrival. */
20
+ readonly observe: (usage: ContextUsage | undefined) => void;
21
+ /**
22
+ * After the prompt response: resolve once a usage_update arrived since
23
+ * `arm()`, or after the profile's bound. Immediate when the profile does not
24
+ * declare the late push or the turn is being aborted.
25
+ */
26
+ readonly settleAfterPrompt: (profile: Pick<AcpSessionProfile, "usageUpdateAfterPrompt" | "usageUpdateTimeoutMs">, aborting: boolean) => Promise<void>;
27
+ }
28
+ export declare const DEFAULT_USAGE_UPDATE_TIMEOUT_MS = 500;
29
+ export declare function createUsageUpdateGate(): UsageUpdateGate;
30
+ //# sourceMappingURL=usage-wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-wait.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/usage-wait.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,sBAAsB,CAAC,EACnF,QAAQ,EAAE,OAAO,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,wBAAgB,qBAAqB,IAAI,eAAe,CA8BvD"}
@@ -0,0 +1,34 @@
1
+ export const DEFAULT_USAGE_UPDATE_TIMEOUT_MS = 500;
2
+ export function createUsageUpdateGate() {
3
+ let seen = false;
4
+ let release = null;
5
+ return {
6
+ arm: () => {
7
+ seen = false;
8
+ },
9
+ observe: (usage) => {
10
+ if (usage === undefined) {
11
+ return;
12
+ }
13
+ seen = true;
14
+ release?.();
15
+ },
16
+ settleAfterPrompt: async (profile, aborting) => {
17
+ if (profile.usageUpdateAfterPrompt !== true || aborting || seen) {
18
+ return;
19
+ }
20
+ const { promise, resolve } = Promise.withResolvers();
21
+ const timer = setTimeout(resolve, profile.usageUpdateTimeoutMs ?? DEFAULT_USAGE_UPDATE_TIMEOUT_MS);
22
+ timer.unref();
23
+ release = resolve;
24
+ try {
25
+ await promise;
26
+ }
27
+ finally {
28
+ clearTimeout(timer);
29
+ release = null;
30
+ }
31
+ },
32
+ };
33
+ }
34
+ //# sourceMappingURL=usage-wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-wait.js","sourceRoot":"","sources":["../../../src/shared/acp/usage-wait.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,MAAM,UAAU,qBAAqB;IACnC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAwB,IAAI,CAAC;IACxC,OAAO;QACL,GAAG,EAAE,GAAS,EAAE;YACd,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAQ,EAAE;YACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YACZ,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QACD,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAiB,EAAE;YAC5D,IAAI,OAAO,CAAC,sBAAsB,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;YAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,IAAI,+BAA+B,CAAC,CAAC;YACnG,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,OAAO,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Reasoning-effort menu as plain level names. Runtimes disagree on the entry
3
+ * shape: codex ships `{effort, description}` objects, claude ships strings,
4
+ * grok's ACP extension may ship either. Returns `undefined` when the runtime
5
+ * exposes no menu at all, so callers can omit the field rather than emit `[]`.
6
+ */
7
+ export declare function effortLevelsOf(value: unknown): string[] | undefined;
8
+ /** A single effort name, or `undefined` when absent or not a non-empty string. */
9
+ export declare function effortLevelOf(value: unknown): string | undefined;
10
+ //# sourceMappingURL=effort-levels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effort-levels.d.ts","sourceRoot":"","sources":["../../src/shared/effort-levels.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAanE;AAOD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKhE"}
@@ -0,0 +1,33 @@
1
+ import { asRecord } from "./json.js";
2
+ /**
3
+ * Reasoning-effort menu as plain level names. Runtimes disagree on the entry
4
+ * shape: codex ships `{effort, description}` objects, claude ships strings,
5
+ * grok's ACP extension may ship either. Returns `undefined` when the runtime
6
+ * exposes no menu at all, so callers can omit the field rather than emit `[]`.
7
+ */
8
+ export function effortLevelsOf(value) {
9
+ if (!Array.isArray(value)) {
10
+ return undefined;
11
+ }
12
+ const entries = value;
13
+ const levels = [];
14
+ for (const entry of entries) {
15
+ const level = typeof entry === "string" ? entry : effortName(asRecord(entry));
16
+ if (level !== undefined) {
17
+ levels.push(level);
18
+ }
19
+ }
20
+ return levels;
21
+ }
22
+ function effortName(record) {
23
+ const candidate = record?.effort ?? record?.id;
24
+ return typeof candidate === "string" && candidate.length > 0 ? candidate : undefined;
25
+ }
26
+ /** A single effort name, or `undefined` when absent or not a non-empty string. */
27
+ export function effortLevelOf(value) {
28
+ if (typeof value === "string" && value.length > 0) {
29
+ return value;
30
+ }
31
+ return effortName(asRecord(value));
32
+ }
33
+ //# sourceMappingURL=effort-levels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effort-levels.js","sourceRoot":"","sources":["../../src/shared/effort-levels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAc,KAAK,CAAC;IACjC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,MAAsC;IACxD,MAAM,SAAS,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,EAAE,CAAC;IAC/C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC"}
@@ -12,6 +12,7 @@ export interface LineProcess {
12
12
  readonly stdin: Writable;
13
13
  readonly stdout: Readable;
14
14
  write(text: string): void;
15
+ /** Complete UTF-8 lines, independent of stdout byte-chunk boundaries. */
15
16
  onLine(handler: (line: string) => void): void;
16
17
  /** Fires exactly once, for exit or spawn-level error alike. */
17
18
  onExit(handler: (code: number | null) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/shared/executable/process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,UAAU,cAAc;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9C,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IACrD,IAAI,IAAI,IAAI,CAAC;CACd;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAEjF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,cAAmB,GAC3B,WAAW,CAiFb"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/shared/executable/process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,UAAU,cAAc;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9C,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IACrD,IAAI,IAAI,IAAI,CAAC;CACd;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAEjF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,cAAmB,GAC3B,WAAW,CAoFb"}
@@ -1,4 +1,5 @@
1
1
  import spawn from "cross-spawn";
2
+ import { StringDecoder } from "node:string_decoder";
2
3
  /** Windows npm shims need a shell for one-shot execFile calls. */
3
4
  export function requiresShell(command, platform) {
4
5
  return platform === "win32" && /\.(?:cmd|bat)$/iu.test(command);
@@ -43,8 +44,11 @@ export function spawnLineProcess(command, args, options = {}) {
43
44
  end(null);
44
45
  });
45
46
  const readLines = () => {
47
+ // Keep incomplete UTF-8 code points between chunks without changing the
48
+ // raw stdout stream used by protocol SDKs and other observers.
49
+ const decoder = new StringDecoder("utf8");
46
50
  stdout.on("data", (chunk) => {
47
- buffer += chunk.toString();
51
+ buffer += typeof chunk === "string" ? chunk : decoder.write(chunk);
48
52
  const lines = buffer.split("\n");
49
53
  buffer = lines.pop() ?? "";
50
54
  for (const raw of lines) {
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/shared/executable/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/shared/executable/process.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,6 @@ export declare function asRecord(value: unknown): JsonRecord | null;
7
7
  export declare function asNumber(value: unknown): number | null;
8
8
  /** Narrow an epoch timestamp in seconds or milliseconds to an ISO-8601 instant. */
9
9
  export declare function asEpochInstant(value: unknown): UtcInstant | null;
10
+ /** Array members that are JSON objects; non-arrays and non-object members are dropped. */
11
+ export declare function asRecordList(value: unknown): JsonRecord[];
10
12
  //# sourceMappingURL=json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/shared/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,8EAA8E;AAC9E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAI1D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEtD;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAOhE"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/shared/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,8EAA8E;AAC9E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAI1D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEtD;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAOhE;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CAazD"}
@@ -26,4 +26,19 @@ export function asEpochInstant(value) {
26
26
  const instant = new Date(raw >= 1_000_000_000_000 ? raw : raw * 1000);
27
27
  return utcInstantFromDate(instant);
28
28
  }
29
+ /** Array members that are JSON objects; non-arrays and non-object members are dropped. */
30
+ export function asRecordList(value) {
31
+ if (!Array.isArray(value)) {
32
+ return [];
33
+ }
34
+ const entries = value;
35
+ const records = [];
36
+ for (const entry of entries) {
37
+ const record = asRecord(entry);
38
+ if (record !== null) {
39
+ records.push(record);
40
+ }
41
+ }
42
+ return records;
43
+ }
29
44
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/shared/json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKlD,kFAAkF;AAClF,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACtE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/shared/json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAKlD,kFAAkF;AAClF,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACtE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAc,KAAK,CAAC;IACjC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botiverse/oar",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Provider-independent contracts for observing agent runtimes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",