@omercnet/paseo-omp 2.0.0-next.244.1 → 2.0.0-next.248.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omercnet/paseo-omp",
3
- "version": "2.0.0-next.244.1",
3
+ "version": "2.0.0-next.248.1",
4
4
  "type": "module",
5
5
  "description": "Paseo integration for OMP, including its direct provider and workspace tooling.",
6
6
  "license": "MIT",
@@ -63,8 +63,8 @@
63
63
  "@getpaseo/client": "0.11.1",
64
64
  "@getpaseo/plugin": "0.11.1",
65
65
  "@getpaseo/server": "0.11.1",
66
- "@oh-my-pi/pi-agent-core": "18.2.0",
67
- "@oh-my-pi/pi-coding-agent": "18.2.0",
66
+ "@oh-my-pi/pi-agent-core": "18.8.4",
67
+ "@oh-my-pi/pi-coding-agent": "18.8.4",
68
68
  "@tanstack/react-query": "^5.102.3",
69
69
  "@types/node": "^24.10.1",
70
70
  "@types/react": "^19.2.18",
package/server/hub.ts CHANGED
@@ -8,6 +8,13 @@ import type { HubProcess, listHubProcesses, tailHubLog } from "../shared/hub";
8
8
  const MAX_LOG_BYTES = 64 * 1024;
9
9
 
10
10
  const ScopeFileSchema = z.object({ projectDir: z.string() });
11
+ // omp 18.8 moved the spec from meta.json to a sibling spec.json; older releases embed it in meta.json.
12
+ const SpecSchema = z.object({
13
+ application: z.string(),
14
+ args: z.array(z.string()).optional(),
15
+ cwd: z.string().optional(),
16
+ });
17
+
11
18
  const MetaFileSchema = z.object({
12
19
  daemon: z.object({
13
20
  state: z.string(),
@@ -21,11 +28,7 @@ const MetaFileSchema = z.object({
21
28
  exitedAt: z.number().optional(),
22
29
  exitCode: z.number().optional(),
23
30
  }),
24
- spec: z.object({
25
- application: z.string(),
26
- args: z.array(z.string()).optional(),
27
- cwd: z.string().optional(),
28
- }),
31
+ spec: SpecSchema.optional(),
29
32
  });
30
33
 
31
34
  /**
@@ -71,10 +74,12 @@ async function findProjectDaemonRoots(root: string, cwd: string): Promise<string
71
74
  return matches;
72
75
  }
73
76
 
74
- function toHubProcess(name: string, value: unknown): HubProcess | undefined {
77
+ function toHubProcess(name: string, value: unknown, specFile: unknown): HubProcess | undefined {
75
78
  const parsed = MetaFileSchema.safeParse(value);
76
79
  if (!parsed.success) return undefined;
77
- const { daemon, spec } = parsed.data;
80
+ const { daemon } = parsed.data;
81
+ const spec = parsed.data.spec ?? SpecSchema.safeParse(specFile).data;
82
+ if (!spec) return undefined;
78
83
  return {
79
84
  name,
80
85
  application: spec.application,
@@ -101,8 +106,12 @@ export async function listHubProcessesFrom(root: string, cwd: string): Promise<H
101
106
  const names = await listDirNames(join(projectRoot, "daemons"));
102
107
  await Promise.all(
103
108
  names.map(async (name) => {
104
- const meta = await readJsonFile(join(projectRoot, "daemons", name, "meta.json"));
105
- const process = toHubProcess(name, meta);
109
+ const dir = join(projectRoot, "daemons", name);
110
+ const [meta, spec] = await Promise.all([
111
+ readJsonFile(join(dir, "meta.json")),
112
+ readJsonFile(join(dir, "spec.json")),
113
+ ]);
114
+ const process = toHubProcess(name, meta, spec);
106
115
  if (process) processes.push(process);
107
116
  }),
108
117
  );
@@ -1,2 +1,2 @@
1
1
  /** Release Please keeps this bundle-safe constant aligned with package.json. */
2
- export const PASEO_OMP_PACKAGE_VERSION = "2.0.0-next.244.1"; // x-release-please-version
2
+ export const PASEO_OMP_PACKAGE_VERSION = "2.0.0-next.248.1"; // x-release-please-version
@@ -80,6 +80,9 @@ export const OMP_SESSION_EVENT_POLICIES = {
80
80
  advisor_cost_changed: "ignore",
81
81
  advisor_yielded: "normalize",
82
82
  ttsr_triggered: "ignore",
83
+ cache_warming_start: "ignore",
84
+ cache_warming_end: "ignore",
85
+ queue_update: "ignore",
83
86
  todo_reminder: "normalize",
84
87
  todo_auto_clear: "normalize",
85
88
  irc_message: "normalize",
@@ -136,6 +139,26 @@ export const OMP_RPC_COMMAND_POLICIES = {
136
139
  get_messages_page: "implemented",
137
140
  get_login_providers: "unsupported",
138
141
  login: "unsupported",
142
+ abort_and_restore_queue: "unsupported",
143
+ btw: "unsupported",
144
+ btw_cancel: "unsupported",
145
+ cancel_subagent: "unsupported",
146
+ fork: "unsupported",
147
+ get_btw_history: "unsupported",
148
+ get_logout_accounts: "unsupported",
149
+ goal: "unsupported",
150
+ live_mute: "unsupported",
151
+ live_start: "unsupported",
152
+ live_stop: "unsupported",
153
+ logout: "unsupported",
154
+ predict_word: "unsupported",
155
+ predict_word_feedback: "unsupported",
156
+ promote_queued_message: "unsupported",
157
+ remove_queued_message: "unsupported",
158
+ set_ask_dialog: "unsupported",
159
+ set_cache_warming: "unsupported",
160
+ set_slow_mode: "unsupported",
161
+ steer_subagent: "unsupported",
139
162
  } as const;
140
163
  export const OMP_RPC_RESPONSE_POLICIES = OMP_RPC_COMMAND_POLICIES;
141
164
  export const OMP_PROTOCOL_VIOLATION_CATEGORIES = [
@@ -218,6 +241,9 @@ export const OMP_PROTOCOL_EVENT_TYPES = [
218
241
  "config_warnings_changed",
219
242
  "advisor_cost_changed",
220
243
  "ttsr_triggered",
244
+ "cache_warming_start",
245
+ "cache_warming_end",
246
+ "queue_update",
221
247
  "irc_message",
222
248
  "thinking_level_changed",
223
249
  "goal_updated",
@@ -374,6 +400,9 @@ function eventSchemaClassification(
374
400
  case "config_warnings_changed":
375
401
  case "advisor_cost_changed":
376
402
  case "ttsr_triggered":
403
+ case "cache_warming_start":
404
+ case "cache_warming_end":
405
+ case "queue_update":
377
406
  return { reason: "configuration-event-schema", expected: "valid-configuration-event" };
378
407
  case "extension_ui_request":
379
408
  return { reason: "extension-ui-schema", expected: "valid-extension-ui-event" };
@@ -1522,6 +1551,9 @@ const OmpAgentSessionEventSchema = z.discriminatedUnion("type", [
1522
1551
  ...OmpCoreAgentEventSchema.options,
1523
1552
  z.object({ type: z.literal("config_warnings_changed") }),
1524
1553
  z.object({ type: z.literal("advisor_cost_changed") }),
1554
+ z.object({ type: z.literal("cache_warming_start") }),
1555
+ z.object({ type: z.literal("cache_warming_end") }),
1556
+ z.object({ type: z.literal("queue_update") }),
1525
1557
  z.object({ type: z.literal("advisor_yielded") }),
1526
1558
  z.object({
1527
1559
  type: z.literal("ttsr_triggered"),
@@ -2274,7 +2274,10 @@ export class OmpProviderSession implements OmpOpenedSession {
2274
2274
  if (
2275
2275
  event.type === "config_warnings_changed" ||
2276
2276
  event.type === "advisor_cost_changed" ||
2277
- event.type === "ttsr_triggered"
2277
+ event.type === "ttsr_triggered" ||
2278
+ event.type === "cache_warming_start" ||
2279
+ event.type === "cache_warming_end" ||
2280
+ event.type === "queue_update"
2278
2281
  ) {
2279
2282
  return;
2280
2283
  }
@@ -463,6 +463,9 @@ export class OmpTimelineProjector {
463
463
  event.type === "config_warnings_changed" ||
464
464
  event.type === "advisor_cost_changed" ||
465
465
  event.type === "ttsr_triggered" ||
466
+ event.type === "cache_warming_start" ||
467
+ event.type === "cache_warming_end" ||
468
+ event.type === "queue_update" ||
466
469
  event.type === "irc_message" ||
467
470
  event.type === "model_changed" ||
468
471
  event.type === "thinking_level_changed"