Commit Graph

514 Commits

Author SHA1 Message Date
Peter Steinberger
9a151b248e test: tighten msteams continue callbacks 2026-05-09 06:48:16 +01:00
Peter Steinberger
0e1ea080b8 test: tighten msteams conversation timestamps 2026-05-09 06:20:14 +01:00
Peter Steinberger
b1cb77bc84 test: tighten msteams sent cache timestamp 2026-05-09 05:17:22 +01:00
Shakker
11f9383f8a test: tighten teams empty array assertions 2026-05-09 04:43:24 +01:00
Peter Steinberger
b9bd578d7c test: tighten msteams feedback absence assertion 2026-05-09 02:56:04 +01:00
Shakker
0859e4aa52 test: advance msteams pending upload ttl 2026-05-08 23:51:38 +01:00
Peter Steinberger
a0dd3ac65c test: avoid messaging filter allocation assertions 2026-05-08 21:40:05 +01:00
Peter Steinberger
c9716d934a test: tighten discord msteams assertions 2026-05-08 21:00:47 +01:00
Peter Steinberger
80cc3e66fd test: require msteams config fixture 2026-05-08 18:41:04 +01:00
Peter Steinberger
86a9b3fcb1 test: require msteams message senders 2026-05-08 18:31:40 +01:00
Peter Steinberger
bbd6d9e254 test: stabilize node 26 full-suite edge cases 2026-05-08 16:52:23 +01:00
Peter Steinberger
7cc0b21e4d test: restore node 26 test compatibility 2026-05-08 16:52:23 +01:00
Peter Steinberger
8ec92f544c test: clarify extension resilience test names 2026-05-08 13:41:40 +01:00
Shakker
baffa57c00 revert: restore progress draft behavior 2026-05-08 11:33:08 +01:00
Shakker
acb3b09e2a fix: keep progress draft labels visible 2026-05-08 11:23:59 +01:00
Shakker
1e6a674cfa test: assert teams bot framework audience 2026-05-08 10:54:16 +01:00
Peter Steinberger
7b5d6cfb92 test: clarify msteams attachment url assertions 2026-05-08 08:02:20 +01:00
Peter Steinberger
8af475d9be test: tighten function-shape assertions 2026-05-08 06:19:37 +01:00
Peter Steinberger
6a07855d5a test: type msteams monitor mocks 2026-05-08 06:18:36 +01:00
Peter Steinberger
48ff229a82 test(msteams): type lifecycle mocks 2026-05-08 06:14:53 +01:00
Pavan Kumar Gondhi
c1edfafa3e fix(msteams): gate startup user allowlist resolution [AI] (#79003)
* fix: gate msteams user allowlist name resolution

* addressing codex review

* docs: add changelog entry for PR merge
2026-05-08 10:38:05 +05:30
Peter Steinberger
9e58cc82c8 test: fix strict CI gates 2026-05-08 05:56:38 +01:00
Peter Steinberger
9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Peter Steinberger
accf774591 fix: make channel progress labels rolling 2026-05-08 02:03:12 +01:00
Peter Steinberger
6a4069dead fix: share plugin runtime helpers
Consolidate shared plugin runtime MIME/schema helpers, preserve canonical runtime behavior, and guard QQBot STT fetches.
2026-05-08 00:28:43 +01:00
Peter Steinberger
1ef85c7d4c test: make suites safe without isolation (#78834)
* test: make suites safe without isolation

* fix: narrow auth profile credential types

* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Alex Knight
28e27ca5d1 fix(msteams): preserve proactive thread replies (#78387)
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-06 20:01:18 +10:00
Brandon
eecda912ee fix(msteams): surface network errors blocking bot JWT validation and outbound replies (#77674) (#78081)
* fix(msteams): surface network errors blocking Teams bot JWT validation and outbound replies (#77674)

When login.botframework.com or smba.trafficmanager.net egress is blocked,
errors previously disappeared completely. JWT validator swallowed network
errors and returned false (401 looked identical to a bad credential), and
outbound send failures with transport-level codes had no hint pointing to
the Connector endpoint.

- sdk.ts: rethrow ECONNREFUSED/ENOTFOUND/EHOSTUNREACH/ETIMEDOUT/ECONNRESET
  from the JWKS key fetch so callers can distinguish firewall blocks from bad
  credentials; add isJwksNetworkError() helper
- monitor.ts: catch rethrown network errors in JWT middleware and log at
  runtime.error level with an actionable message pointing to
  login.botframework.com:443; upgrade allowlist resolution failures from
  runtime.log (optional/silent) to runtime.error
- errors.ts: add "network" kind to classifyMSTeamsSendError for transport-level
  errors (ECONNREFUSED, ENOTFOUND, etc.); add formatMSTeamsSendErrorHint for
  "network" kind pointing to smba.trafficmanager.net and egress rules
- monitor-handler.ts, message-handler.ts: remove spurious ?. from runtime.error
  calls (RuntimeEnv.error is a required non-optional field)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(msteams): surface blocked botframework egress

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
2026-05-05 23:11:06 -05:00
Peter Steinberger
b85b1c68d1 Refactor file access to use fs-safe primitives (#78255)
* refactor: use fs-safe primitives across file access

* fix: preserve invalid managed npm manifests

* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
05eda57b3c refactor: migrate bundled plugins to message lifecycle 2026-05-06 01:46:42 +01:00
Peter Steinberger
fa689295c6 fix: resolve small triage issues 2026-05-04 07:38:42 +01:00
Vincent Koc
c979ed3a3a fix(channels): pass raw progress detail to drafts 2026-05-03 18:43:11 -07:00
Peter Steinberger
36c047c026 fix(channels): unify progress draft line formatting 2026-05-04 00:50:09 +01:00
Peter Steinberger
392897304c fix(channels): delay progress drafts until work is visible 2026-05-04 00:22:13 +01:00
Vincent Koc
12dbfab678 fix(msteams): stream progress tool lines 2026-05-03 16:17:02 -07:00
Vincent Koc
8beda86416 fix(channels): expose progress draft config hints 2026-05-03 14:21:57 -07:00
Peter Steinberger
c33e578554 feat: add channel progress drafts
Adds unified progress-draft streaming for chat channels, with docs and per-channel regressions.
2026-05-03 22:01:08 +01:00
Alex Knight
6ae09d029c msteams: persist sent-message markers best-effort (#75585)
* msteams: persist sent-message markers best-effort

* docs: clarify Teams restart persistence changelog

* msteams: remove redundant sent-message TTL comment

* msteams: preserve sent-message marker TTL on recovery
2026-05-03 17:25:20 +10:00
Vincent Koc
366f1ea706 fix(msteams): use manual delegated oauth setup 2026-05-02 17:35:37 -07:00
Peter Steinberger
43121fb096 fix: guard provider-prefixed delivery targets 2026-05-02 05:30:41 +01:00
Peter Steinberger
112dedd093 refactor: remove plugin dependency cleanup leftovers 2026-05-01 21:55:50 +01:00
Peter Steinberger
18417f80ad refactor: annotate secret target registries 2026-05-01 20:38:03 +01:00
Peter Steinberger
3f002b10d2 refactor: trim msteams helper exports 2026-05-01 17:06:26 +01:00
Peter Steinberger
9f55378745 refactor: trim channel dead exports 2026-05-01 14:51:32 +01:00
Peter Steinberger
0fe007f71b refactor: trim extension test hooks 2026-05-01 14:32:30 +01:00
Peter Steinberger
90554ea048 refactor: prune stale extension helpers 2026-05-01 10:57:27 +01:00
Peter Steinberger
22a74de693 refactor: remove unused channel utilities 2026-05-01 09:36:51 +01:00
Peter Steinberger
e816235c2d refactor: narrow dead reexports 2026-05-01 08:18:52 +01:00
Peter Steinberger
ffe67e9cdc refactor(channels): route inbound turns through kernel 2026-04-30 04:08:47 +01:00