Peter Steinberger
568ea29d2e
refactor(plugins): inherit shared package boundary settings ( #117474 )
2026-08-01 09:11:09 -07:00
Vincent Koc
9a14ee3ad2
fix(meeting-bot): keep node capability internal
2026-07-31 11:09:03 +08:00
Vincent Koc
1bd2f93214
fix(meeting-bot): negotiate realtime output generations
2026-07-31 11:09:03 +08:00
Vincent Koc
4250552080
fix(meeting-bot): preserve node audio responses
2026-07-31 11:09:03 +08:00
pash-openai
e52354ea13
fix(build): pin typebox to a published release ( #116333 )
2026-07-30 09:58:51 +00:00
Peter Steinberger
4232126bba
chore: update dependencies across workspace ( #115677 )
...
* chore(deps): update dependencies
* fix(deps): restore CI compatibility
2026-07-29 05:16:42 -04:00
Peter Steinberger
ddd0b48673
refactor: remove 3,527 lines of runtime and test duplication ( #115626 )
...
* refactor: remove obsolete runtime and test duplication
* test: preserve typed cron and realtime fixtures
2026-07-29 02:21:20 -04:00
Vincent Koc
086d17dd0d
refactor(google-meet): reuse OAuth option resolver ( #115096 )
2026-07-28 11:05:31 +02:00
Peter Steinberger
74045d3f4c
test(google-meet): cover machine output descriptor ( #114562 )
2026-07-27 08:22:11 -04:00
Peter Steinberger
269bc5c89e
fix(cli): preserve machine-readable stdout ( #113654 )
...
Co-authored-by: 1052326311 <65798732+1052326311@users.noreply.github.com >
2026-07-27 05:44:16 -04:00
Peter Steinberger
e717d24c2e
refactor(meetings): close manual action state ( #114247 )
2026-07-26 23:25:19 -04:00
Peter Steinberger
7594e09100
refactor(meetings): centralize talk-back readiness ( #114229 )
2026-07-26 22:03:12 -04:00
Peter Steinberger
f6131a4fbf
build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks ( #114006 )
...
* build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks
npm 12 removed shrinkwrap (command + tarball/root loading). Delete all 82
committed npm-shrinkwrap.json files and stop publishing lockfiles; keep
pnpm-lock.yaml as the single reviewed dependency boundary. The generator
becomes scripts/generate-npm-package-lock.mjs and feeds plugin bundling via
a transient package-lock.json + npm ci (works on npm 11 and 12). Tarball
validation treats the published 2026.7.2 beta train as a shrinkwrap
transition; self-update npm detection now uses install topology instead of
the shipped shrinkwrap.
* fix(deps): repair lint, deadcode, and test-type lanes for the npm 12 migration
- sort integrity comparisons with an explicit comparator (oxlint)
- keep resolveBunGlobalNodeModules module-local (knip unused-export gate)
- model npm pack --json as npm<=11 array / npm 12 name-keyed object
- default calver destructuring in the tarball test fixture
2026-07-26 01:29:55 -04:00
Peter Steinberger
517978a808
refactor(meetings): converge Google Meet probes and adapter parsing ( #113970 )
...
* refactor(meetings): converge Google Meet adapters
* fix(meetings): guard manual action category lookup
* fix(meetings): type manual action category map
2026-07-25 19:00:44 -07:00
Peter Steinberger
c5a2e9b9fb
test(google-meet): deduplicate browser scenarios ( #113573 )
2026-07-25 01:51:07 -07:00
Peter Steinberger
4aa9c9f916
test(google-meet): remove release validation races ( #113387 )
2026-07-25 03:28:22 +08:00
Vincent Koc
3d486066ca
test(google-meet): accept remaining browser act budget ( #113384 )
2026-07-25 02:55:58 +08:00
Peter Steinberger
7d5fb6f242
test(release): align extension prerelease contracts ( #113381 )
2026-07-25 02:30:35 +08:00
Peter Steinberger
89122bf298
refactor(google-meet): consolidate plugin test fixtures ( #113256 )
...
* test(google-meet): consolidate plugin fixtures
* test(google-meet): keep fixture internals private
2026-07-24 01:02:39 -07:00
Peter Steinberger
129f86bbf5
feat: auto-collect durable meeting transcripts ( #113122 )
...
* feat(meetings): auto-collect durable transcripts
* chore(plugin-sdk): refresh meeting transcript API baseline
* fix(plugin-sdk): keep meeting transcript options implicit
* fix(meetings): satisfy transcript bridge typecheck
* fix(google-meet): preserve optional caption policy context
* fix(google-meet): retain caption mode callback type
* refactor(meetings): split transcript lifecycle helpers
* chore(plugin-sdk): refresh split meeting runtime baseline
* refactor(google-meet): split session helpers
* fix(meetings): decouple transcript retries from leave
* fix(meetings): isolate provider subscribers
* fix(meetings): harden capture lifecycle
* fix(meetings): preserve capture during storage outages
* fix(meetings): preserve pending transcript ordering
* fix(meetings): retry capture initialization
* test(agents): reflect default transcript registration
2026-07-23 11:41:08 -07:00
Peter Steinberger
acd92f6a3d
chore(deps): refresh repository dependencies ( #112453 )
...
* build(deps): update QA broker dependency
* build(deps): refresh repository dependencies
* build(deps): reconcile rebased shrinkwraps
* test(plugins): remove stale loader test state
* test(deps): stabilize updated dependency coverage
* fix(swift): use caller-isolated TaskLocal overload
* build(deps): regenerate rebased shrinkwraps
* test(msteams): preserve DNS validation in fetch helper
* fix(deps): avoid vulnerable optional image stack
* test(deps): validate generated LRU override
* refactor(ui): extract chat resizable divider
* test(ui): update divider ownership path
* fix(matrix): retain restart-compatible SDK
* style(cron): format update test
2026-07-23 16:17:13 +00:00
Peter Steinberger
12d7009f71
feat(google-meet): enable plugin by default ( #113053 )
...
* feat(google-meet): enable plugin by default
* docs(google-meet): preserve browser enable recovery
2026-07-23 07:34:32 -07:00
Peter Steinberger
bac2bbd243
refactor(google-meet): split CLI modules ( #112937 )
...
* refactor(google-meet): split CLI modules
* test(google-meet): align CLI split routing
* refactor(google-meet): isolate CLI command contract
2026-07-23 03:00:34 -04:00
Peter Steinberger
cca67fc842
fix(meetings): verify talk-back loopback signal ( #112939 )
...
* fix(meetings): verify talk-back loopback signal
* refactor(meetings): keep verification helper private
* fix(meetings): type loopback buffers generically
* fix(meetings): bound loopback reference buffers
* fix(meetings): align loopback proof with playback
* chore(meetings): defer release note ownership
* fix(meetings): keep loopback health type private
2026-07-23 02:32:24 -04:00
Peter Steinberger
32014bd84f
refactor(google-meet): split plugin entry modules ( #112903 )
2026-07-23 01:03:51 -04:00
Peter Steinberger
dfc88210be
refactor(google-meet): split Meet API client ( #112873 )
...
* refactor(google-meet): split Meet API client
* refactor(google-meet): keep internal API types private
2026-07-23 00:29:21 -04:00
Peter Steinberger
939ecb5ef8
refactor(meeting-bot): hoist meeting adapter runtime glue ( #112785 )
...
* refactor(meeting-bot): hoist adapter runtime glue
* refactor(meeting-bot): specialize runtime adapters
* refactor(google-meet): reuse runtime adapter alias
* refactor(meeting-bot): privatize consult internals
* refactor(plugin-sdk): ratchet meeting runtime surface
2026-07-22 18:52:17 -04:00
sunlit-deng
74c5415e2e
fix(google-meet): reject malformed audio base64 ( #106474 )
...
* fix(google-meet): reject malformed audio base64
* refactor(meeting-bot): validate node audio centrally
Make the shared meeting-bot owner reject malformed push and pull audio for Google Meet, Teams, and Zoom without plugin-specific callbacks or permissive fallbacks.
Co-authored-by: sunlit-deng <yang.jiajun1@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-22 14:25:42 -07:00
Peter Steinberger
6f2fa019bd
fix: honor configured default agent in consults ( #111749 )
2026-07-20 01:43:00 -07:00
xingzhou
7b3a8dba14
fix(meeting-bot): preserve spawn failure diagnostics ( #107614 )
2026-07-19 16:17:46 +08:00
Peter Steinberger
b4187ced90
feat: add live-validated Zoom meeting guest plugin ( #111048 )
...
* feat(zoom-meetings): add browser guest transport
* fix(zoom-meetings): type reusable refresh result
* test(meeting-bot): bind reusable refresh callback
* chore(zoom-meetings): use existing plugin label
* chore(zoom-meetings): defer changelog to release
* test(zoom-meetings): cover node setup through public host
2026-07-18 17:17:26 -07:00
Peter Steinberger
d7b0bacf10
fix(teams-meetings): join and transcribe live meetings reliably ( #110615 )
...
* fix(teams-meetings): validate live web flows
* chore(plugin-sdk): update meeting runtime baseline
* test(teams-meetings): align live validation fixtures
* fix(teams-meetings): harden live browser validation
* fix(teams-meetings): preserve live transition lifecycles
* fix(meeting-bot): pass wait budget during recovery
* test(teams-meetings): satisfy extension lint
* fix(teams-meetings): preserve browser session ownership
* fix(teams-meetings): retire audio bridges after leave
* fix(teams-meetings): harden leave and audio ownership
* fix(teams-meetings): preserve leave transition ownership
* fix(teams-meetings): serialize leave cleanup safely
* fix(teams-meetings): guard live transition cleanup
* fix(teams-meetings): preserve adapter boundaries
* fix(teams-meetings): await caption readiness
* fix(teams-meetings): surface caption blockers
* fix(teams-meetings): retry transient media playback
* chore(teams-meetings): defer release notes
* refactor(meeting-bot): isolate navigation error helper
* test(teams-meetings): keep page control helper private
* fix(meeting-bot): bound caption lifecycle cleanup
* chore(plugin-sdk): refresh API baseline
* test(teams-meetings): split caption ownership coverage
* fix(teams-meetings): retry pending audio routing
* fix(teams-meetings): retain leave transition ownership
* fix(teams-meetings): refresh transcript target
* fix(teams-meetings): bound audio routing retries
* fix(teams-meetings): retry pending remote audio
* fix(teams-meetings): harden media source ownership
2026-07-18 15:57:22 +01:00
Peter Steinberger
fcdf3954d7
fix(meetings): wait for audio bridge cleanup ( #110548 )
...
* fix(meetings): wait for audio bridge cleanup
Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com >
* test(meetings): skip POSIX signal proof on Windows
---------
Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com >
2026-07-18 09:00:19 +01:00
Peter Steinberger
72d597c202
fix(google-meet): harden talkback bridge recovery ( #110092 )
...
* fix(meeting-bot): harden deferred runtime findings
* fix(google-meet): gate paired-node talkback bridge
* fix(google-meet): preserve tracked tab during bridge recovery
* docs(google-meet): explain external bridge exception
2026-07-17 23:50:30 +01:00
Peter Steinberger
ecd285222c
fix: harden recovered meeting browser sessions ( #110089 )
...
* fix(meeting-bot): harden browser session recovery
* chore: leave meeting notes to release generation
* docs: fix release-gate example lint
2026-07-17 23:20:51 +01:00
Peter Steinberger
ee762ad761
feat(teams-meetings): join Microsoft Teams meetings via the meeting-bot core ( #109964 )
...
* feat(teams-meetings): join Microsoft Teams meetings via the meeting-bot core
* fix(teams-meetings): satisfy lint and package-boundary contracts
2026-07-17 13:23:39 +01:00
Peter Steinberger
5c21b70144
fix(google-meet): preserve attendance CSV row boundaries ( #109926 )
...
* fix(google-meet): harden attendance CSV export
* chore: defer google meet release note
2026-07-17 11:47:00 +01:00
Peter Steinberger
3d7346f96b
test(google-meet): keep CLI test on plugin boundary ( #109915 )
2026-07-17 11:26:49 +01:00
Pavan Kumar Gondhi
93e9e2fe93
fix(google-meet): neutralize attendance CSV formulas [AI] ( #109725 )
...
* fix: neutralize meet attendance csv cells
* fix: cover fullwidth csv formula prefixes
* test: use temp dir tracker for meet csv export
2026-07-17 15:38:12 +05:30
Peter Steinberger
1a2d9e5e5c
refactor(meeting-bot): extract browser meeting-bot core behind MeetingPlatformAdapter ( #109755 )
...
* refactor(meeting-bot): extract browser meeting-bot core behind MeetingPlatformAdapter
* chore(google-meet): prune max-lines baseline entries shrunk by extraction
* fix(meeting-bot): drop orphaned extension realtime files and refresh lint/test types after extraction
* chore(google-meet): prune deleted realtime max-lines baseline
* chore(meeting-bot): remove release-owned changelog entry
* fix(meeting-bot): harden session leave, cleanup retry, and engine teardown paths
2026-07-17 10:35:56 +01:00
Peter Steinberger
0471b293bb
style: format google-meet index test
...
68c4cb31d2 (#109674 ) landed unformatted, failing check-lint repo-wide.
2026-07-17 02:14:31 -07:00
Wynne668
68c4cb31d2
fix(google-meet): report blank Twilio setup credentials as missing ( #109674 )
...
* fix(google-meet): reject blank Twilio setup credentials
* fix: centralize Google Meet voice setup values
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-17 01:54:43 -07:00
Peter Steinberger
e3618454f2
refactor(talk): add realtime voice session harness and adopt in google-meet and voice-call ( #109497 )
...
* refactor(talk): add realtime voice session harness and adopt in google-meet and voice-call
* fix(google-meet): satisfy prefer-const in realtime engine wiring
2026-07-16 21:28:44 -07:00
Peter Steinberger
92146f9f80
refactor(talk): share audio-energy stats and speech-threshold gate across voice surfaces ( #109466 )
2026-07-16 18:10:26 -07:00
Peter Steinberger
edd052989b
refactor(google-meet): merge host and node realtime engines behind one audio transport ( #109413 )
...
* refactor(google-meet): merge host and node realtime engines behind one audio transport
* refactor(google-meet): internalize engine helpers left test-only after realtime-node removal
2026-07-16 17:39:53 -07:00
Peter Steinberger
0631252f4b
refactor: reduce plugin SDK test import overhead ( #109333 )
...
* refactor(test): split plugin SDK test helpers
* fix(test): align plugin SDK test subpaths
2026-07-16 13:55:23 -07:00
Peter Steinberger
525db34f80
refactor: privatize diagnostics, Meet, and QA test seams ( #107869 )
...
* refactor(diagnostics-prometheus): privatize metrics test surface
* refactor(google-meet): remove Chrome test dependency exports
* refactor(qa-lab): test retained runtime boundaries
* chore(deadcode): shrink export baseline
2026-07-14 17:42:34 -07:00
Peter Steinberger
f81f9d8570
chore: enforce max-lines suppression ratchet ( #107315 )
...
* ci: enforce max-lines suppression ratchet
* chore: prune stale max-lines suppression
* fix: close max-lines ratchet enforcement gaps
* fix: harden max-lines ratchet checks
* fix(ci): satisfy max-lines ratchet checks
* style: format max-lines declarations
* fix(ci): match oxlint suppression grammar
* test: isolate max-lines git fixtures
* chore: prune resolved max-lines debt
* test: skip newline path fixture on Windows
* fix: harden max-lines suppression ratchet
* chore: refresh max-lines baseline
* fix: close max-lines ratchet bypasses
* fix: derive ratchet base from PR merge tree
* fix: support older Git in staged ratchet
* fix: align max-lines declarations and baseline
* chore: refresh max-lines baseline for current main
* fix: exclude generated wizard locales from max-lines
* chore: prune resolved max-lines debt
2026-07-14 09:27:02 -07:00
Peter Steinberger
723895d713
fix(deps): regenerate google-meet shrinkwrap for jszip
...
5c509efb02 added jszip without regenerating npm-shrinkwrap.json,
failing check-shrinkwrap on main.
2026-07-14 03:41:49 -07:00
Peter Steinberger
5c509efb02
refactor(google-meet): use JSZip for exports
2026-07-14 03:29:43 -07:00