oysterun 1.6.0-beta.26 → 1.6.0-beta.28

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 (141) hide show
  1. package/README.md +16 -26
  2. package/bin/oysterun.mjs +7 -7
  3. package/dev/client/connectivity/managed-host-browser.mjs +1 -1
  4. package/dev/client/web/index.html +322 -393
  5. package/dev/client/web-chat/dist/assets/{ReactPrism-DAnaXfVS.js → ReactPrism-DLL_kreu.js} +1 -1
  6. package/dev/client/web-chat/dist/assets/{ReactPrism-DAnaXfVS.js.map → ReactPrism-DLL_kreu.js.map} +1 -1
  7. package/dev/client/web-chat/dist/assets/SessionsSetupApp-C_mSn1C2.js +6341 -0
  8. package/dev/client/web-chat/dist/assets/{SessionsSetupApp-DHIQGMTn.js.map → SessionsSetupApp-C_mSn1C2.js.map} +1 -1
  9. package/dev/client/web-chat/dist/assets/{index-BBKjERqE.js → index--65zR5Da.js} +1 -1
  10. package/dev/client/web-chat/dist/assets/{index-BBKjERqE.js.map → index--65zR5Da.js.map} +1 -1
  11. package/dev/client/web-chat/dist/assets/{index-LOd0DtxP.js → index-0iyj_Caq.js} +2 -2
  12. package/dev/client/web-chat/dist/assets/{index-LOd0DtxP.js.map → index-0iyj_Caq.js.map} +1 -1
  13. package/dev/client/web-chat/dist/assets/{index-BzsVrG_I.js → index-DKZriCJg.js} +2 -2
  14. package/dev/client/web-chat/dist/assets/{index-BzsVrG_I.js.map → index-DKZriCJg.js.map} +1 -1
  15. package/dev/client/web-chat/dist/assets/matrix-entry-Ci2rZW7p.css +10 -0
  16. package/dev/client/web-chat/dist/assets/{matrix-entry-DiONosT-.js → matrix-entry-DmyUcUYq.js} +159 -157
  17. package/dev/client/web-chat/dist/assets/matrix-entry-DmyUcUYq.js.map +1 -0
  18. package/dev/client/web-chat/dist/assets/{pdf-Ck8f-eGe.js → pdf-swte6n5Q.js} +3 -3
  19. package/dev/client/web-chat/dist/assets/{pdf-Ck8f-eGe.js.map → pdf-swte6n5Q.js.map} +1 -1
  20. package/dev/client/web-chat/dist/assets/{web-DJAdeQ9O.js → web-B1JMJAZX.js} +1 -1
  21. package/dev/client/web-chat/dist/assets/{web-DJAdeQ9O.js.map → web-B1JMJAZX.js.map} +1 -1
  22. package/dev/client/web-chat/dist/assets/{web-Co09KLRr.js → web-fkO3NdlI.js} +1 -1
  23. package/dev/client/web-chat/dist/assets/{web-Co09KLRr.js.map → web-fkO3NdlI.js.map} +1 -1
  24. package/dev/client/web-chat/dist/index.html +1 -1
  25. package/docs/routec/dev/host_posthog.md +0 -1
  26. package/docs/routec/dev/host_update_runtime_identity.md +3 -3
  27. package/docs/routec/dev/npm_native_dependency_install.md +1 -1
  28. package/docs/routec/dev/p262_setup_input_file.md +3 -3
  29. package/docs/routec/dev/provider_prompt_file_slash_shortcuts.md +4 -0
  30. package/docs/routec/dev/provider_startup_diagnostics.md +38 -2
  31. package/docs/routec/oysterun_operation_interface_spec.md +3 -4
  32. package/docs/routec/skill_installation.md +2 -1
  33. package/host-service/README.md +1 -15
  34. package/host-service/adapters/claude-code-adapter.mjs +892 -25
  35. package/host-service/adapters/codex-app-server-adapter.mjs +116 -56
  36. package/host-service/adapters/debug-fixture-provider-adapter.mjs +0 -2
  37. package/host-service/adapters/debug-large-tool-spillover-provider-adapter.mjs +0 -2
  38. package/host-service/adapters/debug-p135-codex-replay-provider-adapter.mjs +0 -2
  39. package/host-service/adapters/debug-routec-structural-replay-provider-adapter.mjs +0 -2
  40. package/host-service/adapters/grok-acp-adapter.mjs +132 -73
  41. package/host-service/adapters/provider-stdout-lines.mjs +38 -0
  42. package/host-service/assets/product-skills/Oysterun/SKILL.md +65 -23
  43. package/host-service/assets/product-skills/Oysterun/modules/oysterun-mail/SKILL.md +34 -81
  44. package/host-service/assets/product-skills/Oysterun/modules/oysterun-mail/scripts/oysterun_mail.mjs +10 -22
  45. package/host-service/assets/product-skills/Oysterun/modules/oysterun-notifications/SKILL.md +22 -38
  46. package/host-service/assets/product-skills/Oysterun/modules/oysterun-notifications/scripts/oysterun_notifications.mjs +10 -22
  47. package/host-service/assets/product-skills/Oysterun/modules/oysterun-scheduler/SKILL.md +55 -139
  48. package/host-service/assets/product-skills/Oysterun/modules/oysterun-scheduler/scripts/oysterun_scheduler.mjs +10 -22
  49. package/host-service/assets/product-skills/Oysterun/modules/oysterun-session-chat/SKILL.md +100 -277
  50. package/host-service/assets/product-skills/Oysterun/modules/oysterun-session-chat/scripts/oysterun_session_chat.mjs +10 -22
  51. package/host-service/assets/product-skills/Oysterun/modules/oysterun-sessions/SKILL.md +114 -272
  52. package/host-service/assets/product-skills/Oysterun/modules/oysterun-sessions/references/session-activity.md +25 -0
  53. package/host-service/assets/product-skills/Oysterun/modules/oysterun-sessions/scripts/oysterun_sessions.mjs +10 -22
  54. package/host-service/assets/product-skills/Oysterun/modules/oysterun-telegram/SKILL.md +59 -110
  55. package/host-service/assets/product-skills/Oysterun/modules/oysterun-telegram/scripts/oysterun_telegram.mjs +10 -22
  56. package/host-service/assets/product-skills/Oysterun/modules/oysterun-website/SKILL.md +115 -253
  57. package/host-service/assets/product-skills/Oysterun/modules/oysterun-website/scripts/oysterun_website.mjs +10 -22
  58. package/host-service/assets/product-skills/oysterun-mail/SKILL.md +34 -81
  59. package/host-service/assets/product-skills/oysterun-mail/scripts/oysterun_mail.mjs +10 -22
  60. package/host-service/assets/product-skills/oysterun-notifications/SKILL.md +22 -38
  61. package/host-service/assets/product-skills/oysterun-notifications/scripts/oysterun_notifications.mjs +10 -22
  62. package/host-service/assets/product-skills/oysterun-scheduler/SKILL.md +55 -139
  63. package/host-service/assets/product-skills/oysterun-scheduler/scripts/oysterun_scheduler.mjs +10 -22
  64. package/host-service/assets/product-skills/oysterun-session-chat/SKILL.md +100 -277
  65. package/host-service/assets/product-skills/oysterun-session-chat/scripts/oysterun_session_chat.mjs +10 -22
  66. package/host-service/assets/product-skills/oysterun-sessions/SKILL.md +114 -272
  67. package/host-service/assets/product-skills/oysterun-sessions/references/session-activity.md +25 -0
  68. package/host-service/assets/product-skills/oysterun-sessions/scripts/oysterun_sessions.mjs +10 -22
  69. package/host-service/assets/product-skills/oysterun-telegram/SKILL.md +59 -110
  70. package/host-service/assets/product-skills/oysterun-telegram/scripts/oysterun_telegram.mjs +10 -22
  71. package/host-service/assets/product-skills/oysterun-website/SKILL.md +115 -253
  72. package/host-service/assets/product-skills/oysterun-website/scripts/oysterun_website.mjs +10 -22
  73. package/host-service/claude-acp-model-discovery.mjs +1 -1
  74. package/host-service/cli/product-cli.mjs +2 -3
  75. package/host-service/cli.mjs +3 -3
  76. package/host-service/complete-cli-uninstall.mjs +1 -1
  77. package/host-service/config.mjs +0 -7
  78. package/host-service/connectivity/webrtc-signaling-service.mjs +16 -3
  79. package/host-service/desired-open-restore-wait.mjs +69 -0
  80. package/host-service/frp-agent.mjs +8 -0
  81. package/host-service/host-telemetry.mjs +0 -1
  82. package/host-service/lifecycle-service-render-bundle.mjs +1 -1
  83. package/host-service/matrix-event-writer.mjs +11 -0
  84. package/host-service/matrix-facade.mjs +19 -3
  85. package/host-service/matrix-room-binding.mjs +49 -10
  86. package/host-service/matrix-transcript-read-adapter.mjs +7 -0
  87. package/host-service/package.json +3 -3
  88. package/host-service/provider-registry.mjs +0 -7
  89. package/host-service/provider-resume-contract.mjs +3 -9
  90. package/host-service/provider-skill-roots.mjs +23 -0
  91. package/host-service/provider-startup-preflight.mjs +50 -4
  92. package/host-service/replay-claude-acp-raw-events.mjs +12 -1
  93. package/host-service/restore-log.mjs +107 -0
  94. package/host-service/routec-matrix-storage-adapter.mjs +0 -256
  95. package/host-service/server.mjs +510 -794
  96. package/host-service/session-collection-service.mjs +2 -0
  97. package/host-service/session-manager.mjs +213 -16
  98. package/host-service/session-name-counter-store.mjs +3 -17
  99. package/host-service/session-name.mjs +0 -22
  100. package/host-service/storage-snapshot.mjs +83 -44
  101. package/host-service/telegram-bridge.mjs +289 -9
  102. package/host-service/test-fixtures/p329/claude-bridge-0.44.0-bash-read-edit.json +575 -0
  103. package/host-service/test-fixtures/p329/claude-bridge-0.93.0-bash-read-edit.json +688 -0
  104. package/host-service/test-fixtures/p329/grok-1.0.50-bash-read-edit.json +618 -0
  105. package/host-service/test-fixtures/p348/A2J_093.json +1119 -0
  106. package/host-service/test-fixtures/p348/A2m_093.json +709 -0
  107. package/host-service/test-fixtures/p348/AM_093.json +946 -0
  108. package/host-service/test-fixtures/p348/AS_093.json +727 -0
  109. package/host-service/test-fixtures/p348/R1_desync093.json +4948 -0
  110. package/host-service/test-fixtures/p348/R2_owner_during093.json +731 -0
  111. package/host-service/test-fixtures/p348/SC2_093.json +1813 -0
  112. package/host-service/test-fixtures/p348/SK_093.json +656 -0
  113. package/host-service/test-fixtures/p348/SL2_093.json +334 -0
  114. package/host-service/test-fixtures/p348/fake-claude-agent-acp.cjs +244 -0
  115. package/host-service/update-operation-currency.mjs +49 -0
  116. package/host-service/update-reminder-state.mjs +2 -0
  117. package/package.json +3 -3
  118. package/static/site/docs/generated_manifest.json +5 -5
  119. package/static/site/docs/use-the-oysterun-cli-safely/en/index.html +1 -1
  120. package/static/site/docs/use-the-oysterun-cli-safely/en/index.md +0 -4
  121. package/static/site/docs/use-the-oysterun-cli-safely/zh/index.html +1 -1
  122. package/static/site/docs/use-the-oysterun-cli-safely/zh/index.md +0 -4
  123. package/static/site_source/content/AGENTS.md +3 -3
  124. package/static/site_source/content/tutorials/published/use-the-oysterun-cli-safely/en/article.html +1 -1
  125. package/static/site_source/content/tutorials/published/use-the-oysterun-cli-safely/zh/article.html +1 -1
  126. package/tool_scripts/install_oysterun_launch_agents.sh +2 -2
  127. package/tool_scripts/install_oysterun_update.mjs +2 -2
  128. package/tool_scripts/oysterun_npm_package_manifest.mjs +0 -2
  129. package/tool_scripts/oysterun_release_service.sh +1 -1
  130. package/tool_scripts/oysterun_service_common.sh +5 -60
  131. package/tool_scripts/stack_dashboard_credentials.mjs +1 -16
  132. package/tool_scripts/status_oysterun_launch_agents.sh +2 -2
  133. package/tool_scripts/test_environment_remote_cloud_deprovision.mjs +0 -2
  134. package/tool_scripts/uninstall_oysterun_launch_agents.sh +2 -2
  135. package/dev/client/web-chat/dist/assets/SessionsSetupApp-DHIQGMTn.js +0 -6348
  136. package/dev/client/web-chat/dist/assets/matrix-entry-BRfbWAyP.css +0 -10
  137. package/dev/client/web-chat/dist/assets/matrix-entry-DiONosT-.js.map +0 -1
  138. package/docs/routec/dev/cloud_deplyments.md +0 -914
  139. package/docs/routec/dev/npmjs_publish.md +0 -801
  140. package/host-service/assets/product-skills/Oysterun/modules/oysterun-mail/scripts/send_mail.mjs +0 -364
  141. package/host-service/assets/product-skills/oysterun-mail/scripts/send_mail.mjs +0 -364
package/README.md CHANGED
@@ -176,7 +176,7 @@ Oysterun/
176
176
  dev/client/ Host-served web client source
177
177
  docs/ Product, design, auth, mock, and TODO docs
178
178
  local notes Gitignored working notes, reports, and ad hoc verification files
179
- temp/ Local export output from tool_scripts/export_key_files.sh
179
+ temp/ Local export output from OysterunTeam/tool_scripts/export_key_files.sh
180
180
  test-results/ Playwright output
181
181
  tool_scripts/ One-off local utilities
182
182
  investigation-repos/ Reference repos used for research only
@@ -185,7 +185,7 @@ Oysterun/
185
185
  Folders you can usually ignore when reading product code:
186
186
 
187
187
  - gitignored operational notes: plans, reports, and ad hoc verification files
188
- - `temp/`: export bundles created by `tool_scripts/export_key_files.sh`
188
+ - `temp/`: export bundles created by `OysterunTeam/tool_scripts/export_key_files.sh`
189
189
  - `test-results/`: Playwright run output such as `.last-run.json`, traces, screenshots, and other browser-test artifacts
190
190
  - `investigation-repos/`: external reference code, not the Oysterun runtime itself
191
191
 
@@ -262,8 +262,7 @@ Default local URLs when you run `npm start` or `npm run dev` directly with the c
262
262
  Port notes:
263
263
 
264
264
  - production default is `8802` in `~/.oysterun/config.json`
265
- - staging uses `9902`
266
- - disposable test slots use `3022`, `3302`, `4022`, and `4402`
265
+ - task and development Hosts use a custom stack with an explicit `--port`
267
266
  - phone app verification can use any running Host port; point the app at the actual user-approved port for that run
268
267
  - backend URL default is `http://localhost:8000`
269
268
  - Host config is stored in `~/.oysterun/config.json`
@@ -277,8 +276,7 @@ For local repo development, you can launch the backend and Host together with th
277
276
 
278
277
  ```bash
279
278
  cd <repo-root>
280
- ./tool_scripts/dev_up.sh
281
- ./tool_scripts/dev_up.sh --stack staging
279
+ ./tool_scripts/dev_up.sh --stack <name> --port <host_port> --backend_port <backend_port>
282
280
  ```
283
281
 
284
282
  What it does:
@@ -286,7 +284,7 @@ What it does:
286
284
  - rebuilds `dev/client/web/index.html`
287
285
  - starts the selected development backend in reload mode
288
286
  - starts the selected Host in watch mode
289
- - uses `staging` by default
287
+ - requires a named custom stack (there is no default)
290
288
  - syncs the stack-owned Host port before start
291
289
  - stops both when you press `Ctrl-C`
292
290
 
@@ -322,9 +320,9 @@ Convenience wrappers are also available at:
322
320
  Stack-specific usage:
323
321
 
324
322
  ```bash
325
- ~/Projects/start_oysterun.sh --stack staging
326
- ~/Projects/restart_oysterun.sh --stack staging
327
- ~/Projects/stop_oysterun.sh --stack staging
323
+ ~/Projects/start_oysterun.sh --stack <name> --port <port>
324
+ ~/Projects/restart_oysterun.sh --stack <name>
325
+ ~/Projects/stop_oysterun.sh --stack <name>
328
326
  ```
329
327
 
330
328
  What they do:
@@ -335,7 +333,7 @@ What they do:
335
333
  - do not initialize backend runtime state
336
334
  - use `production` by default
337
335
  - keep production Host config under `~/.oysterun/config.json`
338
- - keep staging/test Host config under `~/.oysterun-stacks/<stack>/host/config.json`
336
+ - keep custom stack Host config under `~/.oysterun-stacks/<stack>/host/config.json`
339
337
  - write PID files under `~/.oysterun/run/` or `~/.oysterun-stacks/<stack>/run/`
340
338
  - write logs under `~/.oysterun/logs/` or `~/.oysterun-stacks/<stack>/logs/`
341
339
 
@@ -343,15 +341,11 @@ Important:
343
341
 
344
342
  - this is more convenient than `tmux` for manual start/stop/restart
345
343
  - these scripts use temporary `launchctl submit` jobs unless you explicitly install the persistent LaunchAgents
346
- - for persistent login-time auto-start and crash auto-restart on `8802` and `9902`, use `./tool_scripts/install_oysterun_launch_agents.sh`
344
+ - for persistent login-time auto-start and crash auto-restart on `8802`, use `./tool_scripts/install_oysterun_launch_agents.sh` (add `--stack <name>` for a custom stack)
347
345
  - these scripts use stable non-watch commands; use `./tool_scripts/dev_up.sh` when you want backend + Host live auto-reload during active repo development
348
346
  - `./tool_scripts/dev_up.sh` is the only startup path that initializes backend runtime state
349
- - the supported preset stacks are `production`, `staging`, `test1`, `test2`, `test3`, and `test4`
350
- - `production` uses Host `8802`
351
- - `staging` uses Host `9902`
352
- - `test1..test4` use Host `3022`, `3302`, `4022`, and `4402`
353
- - `./tool_scripts/dev_up.sh` is for staging-oriented repo development and uses backend `9000`
354
- - set `OYSTERUN_STAGING_LAN_HOST=<your_lan_ip>` if the staging stack should advertise a different LAN IP than `192.168.0.188`
347
+ - `production` is the only preset stack and uses Host `8802`; every other stack is a custom stack with its own `--port`
348
+ - `./tool_scripts/dev_up.sh` needs `--backend_port` for its development backend
355
349
 
356
350
  ### 3. Use the web client
357
351
 
@@ -361,11 +355,7 @@ For the default production Host, open:
361
355
  http://localhost:8802/app
362
356
  ```
363
357
 
364
- For staging, open:
365
-
366
- ```text
367
- http://localhost:9902/app
368
- ```
358
+ For a custom stack, open `http://localhost:<port>/app`.
369
359
 
370
360
  The web client is served by the Host service. There is no separate frontend dev server to start.
371
361
 
@@ -451,10 +441,10 @@ cd <repo-root>
451
441
  ./tool_scripts/restart_oysterun.sh
452
442
  ```
453
443
 
454
- For staging:
444
+ For a custom stack:
455
445
 
456
446
  ```bash
457
- ~/Projects/restart_oysterun.sh --stack staging
447
+ ~/Projects/restart_oysterun.sh --stack <name>
458
448
  ```
459
449
 
460
450
  ### Frontend restart
@@ -600,7 +590,7 @@ Browser and ad hoc verification artifacts in this repo have usually been kept as
600
590
 
601
591
  `temp/` is mainly used by:
602
592
 
603
- - `tool_scripts/export_key_files.sh`
593
+ - `OysterunTeam/tool_scripts/export_key_files.sh`
604
594
 
605
595
  That script creates export folders and zip files like:
606
596
 
package/bin/oysterun.mjs CHANGED
@@ -137,7 +137,7 @@ function parseUninstallArgs(args = []) {
137
137
  } else if (arg === "--stack") {
138
138
  const value = args[index + 1];
139
139
  if (!value) {
140
- throw new Error("--stack requires production, staging, or all");
140
+ throw new Error("--stack requires production or all");
141
141
  }
142
142
  options.stack = value;
143
143
  index += 1;
@@ -150,9 +150,9 @@ function parseUninstallArgs(args = []) {
150
150
 
151
151
  if (
152
152
  options.stack !== null &&
153
- !["production", "staging", "all"].includes(options.stack)
153
+ !["production", "all"].includes(options.stack)
154
154
  ) {
155
- throw new Error("--stack must be production, staging, or all");
155
+ throw new Error("--stack must be production or all");
156
156
  }
157
157
  if (options.confirm !== null && options.confirm !== "DELETE") {
158
158
  throw new Error("config deletion requires --confirm DELETE exactly");
@@ -241,7 +241,7 @@ Usage:
241
241
  oysterun service:lifecycle-status
242
242
  oysterun service:status
243
243
  oysterun service:logs [--follow]
244
- oysterun service:uninstall [--stack production|staging|all]
244
+ oysterun service:uninstall [--stack production|all]
245
245
  oysterun <module> <action> [options]
246
246
 
247
247
  Product modules:
@@ -257,7 +257,7 @@ Chat transcript reads:
257
257
  History read authority does not authorize send, loop, profile or lifecycle.
258
258
 
259
259
  Session tags:
260
- sessions start|resume|branch-resume [--tags 'first,second' | --clear-tags]
260
+ sessions start|resume [--tags 'first,second' | --clear-tags]
261
261
  sessions profile update [--tags 'first,second' | --clear-tags]
262
262
  --clear-tags creates or saves an untagged Session; empty --tags is invalid.
263
263
  Omitted start tags inside a Session copy the authenticated parent's name.
@@ -278,7 +278,7 @@ function printUninstallHelp() {
278
278
 
279
279
  Usage:
280
280
  oysterun uninstall [--confirm DELETE] [--keep-config] [--dry-run]
281
- oysterun uninstall --stack production|staging|all [options]
281
+ oysterun uninstall --stack production|all [options]
282
282
 
283
283
  Behavior:
284
284
  - Stops/removes managed Oysterun service state where available.
@@ -289,7 +289,7 @@ Behavior:
289
289
  - Without DELETE (including --keep-config), preserves config and CLI package.
290
290
  - --keep-config and --confirm DELETE cannot be combined.
291
291
  - --dry-run prints the selected services/config and exact CLI/npm/prefix plan.
292
- - --stack all removes production and staging services, but only the selected
292
+ - --stack all removes the production service, but only the selected
293
293
  config directory and the launching CLI package.
294
294
  `);
295
295
  }
@@ -57,7 +57,7 @@ const TRANSPORT_ENDPOINT_CLASSES = Object.freeze([
57
57
  "auth",
58
58
  "other",
59
59
  ]);
60
- const REPORTED_DIAGNOSTIC_EVENTS = new Set([
60
+ export const REPORTED_DIAGNOSTIC_EVENTS = new Set([
61
61
  "managed_webrtc_connect_failed",
62
62
  "managed_webrtc_connected",
63
63
  "managed_webrtc_fallback_bootstrap",