omo-ai 5.1.29 → 5.1.32

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 (43) hide show
  1. package/bin/lib/daemon-operations.js +3 -2
  2. package/bin/lib/daemon-stop-budget.js +15 -0
  3. package/bin/lib/provider-map.json +1 -1
  4. package/bin/lib/service-auth.generated.js +119 -0
  5. package/bin/omo.js +4 -1
  6. package/package.json +2 -2
  7. package/plugin/CHANGELOG.md +81 -0
  8. package/plugin/extensions/assets.generated.json +4 -4
  9. package/plugin/extensions/gateway-rules-extension.mjs +1 -1
  10. package/plugin/extensions/gateway-store-worker.mjs +2 -2
  11. package/plugin/extensions/memory-run-supervisor.mjs +1 -1
  12. package/plugin/extensions/omo-computer-use.js +2 -2
  13. package/plugin/extensions/omo-init-deep-advisor.js +2 -2
  14. package/plugin/extensions/omo-member.js +2 -2
  15. package/plugin/extensions/omo-memory-doctor.js +1 -1
  16. package/plugin/extensions/omo-memory-memfs.js +1 -1
  17. package/plugin/extensions/omo-side-panel.js +2 -2
  18. package/plugin/extensions/omo-task.js +2 -2
  19. package/plugin/extensions/omo.js +2 -2
  20. package/plugin/package.json +1 -1
  21. package/plugin/runtime/agent-toolkit-sdk/sdk.js +2 -2
  22. package/plugin/runtime/ast-grep-mcp/cli.js +2 -1
  23. package/plugin/runtime/ast-grep-mcp/manifest.json +2 -2
  24. package/plugin/runtime/category-coverage/assets.generated.json +4 -4
  25. package/plugin/runtime/category-coverage/index.js +4 -4
  26. package/plugin/runtime/lsp-daemon/dist/.omo-runtime-manifest.json +4 -4
  27. package/plugin/runtime/lsp-daemon/dist/cli.js +1 -1
  28. package/plugin/runtime/lsp-daemon/dist/client.js +1 -1
  29. package/plugin/runtime/lsp-daemon/dist/index.js +1 -1
  30. package/plugin/runtime/rollback-migrate.js +2 -2
  31. package/plugin/runtime/task-config/index.js +1 -1
  32. package/plugin/runtime/thread-sdk/sdk.js +2 -2
  33. package/plugin/skills/browser/SKILL.md +1 -1
  34. package/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  35. package/plugin/skills/mass-ulw/references/planning.md +2 -0
  36. package/plugin/skills/onboarding/SKILL.md +13 -4
  37. package/plugin/skills/ultimate-browsing/SKILL.md +14 -16
  38. package/plugin/skills/ultrawork/SKILL.md +19 -15
  39. package/plugin/skills/ultrawork/references/astra-variant.md +4 -3
  40. package/plugin/skills/ulw-execute/SKILL.md +2 -2
  41. package/plugin/skills/ulw-loop/SKILL.md +2 -2
  42. package/plugin/skills/ulw-loop/references/full-workflow.md +2 -2
  43. package/plugin/skills/ulw-research/SKILL.md +16 -17
@@ -2,6 +2,7 @@ import { existsSync, rmSync } from "node:fs"
2
2
  import { basename, join, resolve } from "node:path"
3
3
 
4
4
  import { decorateEndpoints, formatEndpointLines, statusPayload } from "./daemon-status.js"
5
+ import { hostStopBudgetMs } from "./daemon-stop-budget.js"
5
6
 
6
7
  export function parseEngineLine(stdout) {
7
8
  const line = stdout.trim().split("\n").filter(Boolean).pop()
@@ -172,7 +173,7 @@ export function runStopAll({ engine, agentDir, env, drain, wait, timeoutSeconds,
172
173
  }
173
174
 
174
175
  function waitForEndpoint(engine, socket, agentDir, env, timeoutSeconds, now, pause) {
175
- const deadline = now() + timeoutSeconds * 1_000
176
+ const deadline = now() + Math.max(timeoutSeconds * 1_000, hostStopBudgetMs(env))
176
177
  let polls = 0
177
178
  let latest
178
179
  while (now() <= deadline) {
@@ -183,7 +184,7 @@ function waitForEndpoint(engine, socket, agentDir, env, timeoutSeconds, now, pau
183
184
  if (!alive && (latest?.claims_live ?? 0) === 0) return { done: true, polls }
184
185
  pause(250)
185
186
  }
186
- const pid = latest?.pid ?? "?"
187
+ const pid = latest?.pid ?? latest?.generations?.find((generation) => generation.alive)?.pid ?? "?"
187
188
  const sessions = latest?.sessions?.total ?? 0
188
189
  const claims = latest?.claims_live ?? 0
189
190
  return { done: false, polls, summary: `pid ${pid}, ${sessions} sessions, ${claims} claims` }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Senpi 2026.10.10-12 does not publicly export STOP_WAIT_BUDGET_MS.
3
+ * Mirror host-ensure-stop, host-stop-intent and host-stalled-evidence here;
4
+ * daemon-stop-budget.test.mjs checks this against the installed engine.
5
+ */
6
+ export function postDrainStopReserveMs() {
7
+ return 5_000 + 2_000 // supervisor completion + final SIGKILL grace
8
+ }
9
+
10
+ export function hostStopBudgetMs(env = process.env) {
11
+ const raw = env.SENPI_RPC_CHILD_STALLED_STOP_MAX_MS?.trim()
12
+ const parsed = raw !== undefined && /^\d+$/.test(raw) ? Number(raw) : NaN
13
+ const stalledStopMaxMs = Number.isFinite(parsed) && parsed > 0 ? parsed : 60_000
14
+ return Math.max(5_000, stalledStopMaxMs) + 30_000 + postDrainStopReserveMs()
15
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "_comment": "Derived from @code-yeongyu/senpi 2026.10.10-11 builtinProviders(). builtinProviderIds and oauthProviderIds are the engine registry verbatim; providers maps a source harness id onto the omo provider that serves the same endpoint; oauthLogins maps a source OAuth id onto the omo provider to run /login for. Re-derive all four whenever the senpi pin changes.",
2
+ "_comment": "Derived from @code-yeongyu/senpi 2026.10.12 builtinProviders(). builtinProviderIds and oauthProviderIds are the engine registry verbatim; providers maps a source harness id onto the omo provider that serves the same endpoint; oauthLogins maps a source OAuth id onto the omo provider to run /login for. Re-derive all four whenever the senpi pin changes.",
3
3
  "builtinProviderIds": [
4
4
  "alibaba-token-plan",
5
5
  "amazon-bedrock",