@volter/supercode-teams 0.2.62 → 0.2.64

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": "@volter/supercode-teams",
3
- "version": "0.2.62",
3
+ "version": "0.2.64",
4
4
  "type": "module",
5
5
  "description": "A machine daemon serving this machine's doors, and a local or remote Teams server for shared session discovery, OpenTelemetry ingestion and access to enrolled machines.",
6
6
  "license": "MIT",
package/worker/index.mjs CHANGED
@@ -27,6 +27,7 @@ import { webSocketDuplex } from './websocket-duplex.mjs';
27
27
  import viewerPage from '../../volter-teams/viewer/index.html';
28
28
  import viewerScript from '../../volter-teams/viewer/viewer.mjs';
29
29
  import viewerChannel from '../../volter-teams/browser-channel.mjs';
30
+ import viewerFollow from '../../volter-teams/session-follow.mjs';
30
31
  import viewerRpc from '../../volter-teams/stream-rpc.mjs';
31
32
  import viewerSession from '../../volter-teams/viewer/session-view.mjs';
32
33
  import viewerSessionStyle from '../../volter-teams/viewer/session-view.css';
@@ -41,7 +42,7 @@ import proto7 from '../server/otlp/schema/opentelemetry/proto/metrics/v1/metrics
41
42
  import proto8 from '../server/otlp/schema/opentelemetry/proto/resource/v1/resource.proto';
42
43
  import proto9 from '../server/otlp/schema/opentelemetry/proto/trace/v1/trace.proto';
43
44
 
44
- setViewerSources({ 'viewer/index.html': viewerPage, 'viewer/viewer.mjs': viewerScript, 'browser-channel.mjs': viewerChannel, 'stream-rpc.mjs': viewerRpc, 'viewer/session-view.mjs': viewerSession, 'viewer/session-view.css': viewerSessionStyle });
45
+ setViewerSources({ 'viewer/index.html': viewerPage, 'viewer/viewer.mjs': viewerScript, 'browser-channel.mjs': viewerChannel, 'session-follow.mjs': viewerFollow, 'stream-rpc.mjs': viewerRpc, 'viewer/session-view.mjs': viewerSession, 'viewer/session-view.css': viewerSessionStyle });
45
46
 
46
47
  setOtlpSchemaSources({
47
48
  'google/protobuf/any.proto': proto0,
@@ -119,7 +120,12 @@ export class TeamsServer extends DurableObject {
119
120
  await this.ready;
120
121
  const done = this.api.serverId ? await maintain(this.api).catch(() => null) : null;
121
122
  // The database's size on every full pass, where `wrangler tail` reads it.
122
- if (!done?.backlog) console.log(`maintain: database ${(this.ctx.storage.sql.databaseSize / 1048576).toFixed(1)} MB`);
123
+ if (!done?.backlog) {
124
+ // What grows: free pages (space deletes left for reuse), and each busy table's newest rowid (its insert rate).
125
+ const sql = this.ctx.storage.sql, one = (query) => { try { return [...sql.exec(query)][0] ?? {}; } catch { return {}; } };
126
+ const tables = ['messages', 'capture_parts', 'captures', 'session_versions', 'idempotency', 'journal'].map((name) => `${name}=${one(`SELECT MAX(rowid) m FROM ${name}`).m ?? '-'}`).join(' ');
127
+ console.log(`maintain: database ${(sql.databaseSize / 1048576).toFixed(1)} MB free_pages=${one('PRAGMA freelist_count').freelist_count ?? '-'} ${tables}`);
128
+ }
123
129
  // A backlog (versions or parts left over) is worked again in seconds, not a minute.
124
130
  await this.ctx.storage.setAlarm(Date.now() + (done?.backlog ? 3_000 : MAINTAIN_MS));
125
131
  }
@@ -38,5 +38,5 @@ fallthrough = true
38
38
  # The hosted viewer's files, served as text at /view (server/viewer.mjs).
39
39
  [[rules]]
40
40
  type = "Text"
41
- globs = ["**/volter-teams/viewer/index.html", "**/volter-teams/viewer/viewer.mjs", "**/volter-teams/viewer/session-view.mjs", "**/volter-teams/viewer/session-view.css", "**/volter-teams/browser-channel.mjs", "**/volter-teams/stream-rpc.mjs"]
41
+ globs = ["**/volter-teams/viewer/index.html", "**/volter-teams/viewer/viewer.mjs", "**/volter-teams/viewer/session-view.mjs", "**/volter-teams/viewer/session-view.css", "**/volter-teams/browser-channel.mjs", "**/volter-teams/session-follow.mjs", "**/volter-teams/stream-rpc.mjs"]
42
42
  fallthrough = true