Peter Steinberger
f078d90226
test: guard thread ownership mock calls
2026-05-12 00:23:11 +01:00
Peter Steinberger
e5fb2df91b
test: tighten thread ownership assertions
2026-05-11 02:36:27 +01:00
Peter Steinberger
827b0de0ce
refactor: reduce plugin sdk surface
2026-05-10 12:37:10 +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
Peter Steinberger
25446d3c0e
refactor: trim private extension exports
2026-05-01 14:12:17 +01:00
Shakker
f1aaa2cd91
feat: declare startup plugin imports explicitly
2026-04-28 04:33:47 +01:00
Peter Steinberger
4336a7f3a9
refactor(plugin-sdk): narrow config runtime imports
2026-04-27 14:58:32 +01:00
Peter Steinberger
67a447c175
refactor: tighten plugin runtime sdk boundaries
2026-04-27 14:15:53 +01:00
Peter Steinberger
7f3f108521
refactor(config): migrate plugin config access
2026-04-27 12:35:58 +01:00
Vincent Koc
d5c0f70e95
refactor(hooks): share live config fallback handling
2026-04-22 21:42:53 -07:00
Vincent Koc
65ae1e54de
fix(hooks): avoid stale thread ownership startup fallback
2026-04-22 14:19:13 -07:00
Peter Steinberger
aad1be102d
fix(types): narrow live thread ownership config
2026-04-22 21:48:59 +01:00
Vincent Koc
db5895fd2a
refactor(hooks): centralize live plugin config lookup
2026-04-22 13:38:38 -07:00
Vincent Koc
834e50f83c
fix(hooks): use live thread ownership config
2026-04-22 13:01:32 -07:00
Vincent Koc
4ed2ea5035
fix(hooks): tighten thread ownership mention matching
2026-04-22 12:36:37 -07:00
Vincent Koc
dbba830417
fix(hooks): track thread ownership mentions case-insensitively
2026-04-22 12:34:27 -07:00
Vincent Koc
f9f836eba4
fix(hooks): normalize thread ownership slack id casing
2026-04-22 12:32:33 -07:00
Vincent Koc
ec75545a82
fix(hooks): normalize thread ownership channel allowlists
2026-04-22 12:29:08 -07:00
Vincent Koc
4663e7394b
fix(hooks): canonicalize slack thread ownership ids
2026-04-22 12:26:31 -07:00
Vincent Koc
7d088f198f
fix(hooks): fail open without thread ownership routing
2026-04-22 12:24:15 -07:00
Vincent Koc
f4bbbcbfb3
fix(hooks): canonicalize thread ownership conversation ids
2026-04-22 11:57:29 -07:00
Vincent Koc
5fbafa7e47
fix(hooks): prefer shared outbound conversation context
2026-04-22 11:49:25 -07:00
Vincent Koc
e593122465
fix(hooks): standardize outbound routing metadata
2026-04-22 10:53:44 -07:00
Ayaan Zaidi
5c1d6feb33
test(plugins): fix sync register call sites
2026-04-17 10:14:00 +05:30
Peter Steinberger
3e80bd33e4
refactor: simplify extension conversions
2026-04-11 01:37:23 +01:00
Peter Steinberger
0ebeee8b0d
chore: enable consistent-return
2026-04-10 20:56:43 +01:00
Peter Steinberger
dfe4c2d16d
chore: enable no-floating-promises
2026-04-10 20:14:49 +01:00
Peter Steinberger
5fa3b8d7a0
refactor: dedupe provider trimmed readers
2026-04-08 00:09:41 +01:00
Peter Steinberger
94b8ab0325
fix: resolve rebase check regressions
2026-04-06 15:20:03 +01:00
Peter Steinberger
8d095147b4
fix: restore check gate
2026-04-06 15:20:03 +01:00
Peter Steinberger
732c18cd06
fix(check): repair latest type drift batch
2026-04-06 15:03:55 +01:00
Peter Steinberger
af62a2c2e4
style: fix extension lint violations
2026-04-06 14:53:55 +01:00
Vincent Koc
63db3443f1
fix(plugin-sdk): prefer canonical private-network opt-in
2026-04-05 11:45:09 +01:00
Luke
1654c3a851
feat(gateway): make chat history max chars configurable ( #58900 )
...
* feat(gateway): make chat history max chars configurable
* fix(gateway): address review feedback
* docs(changelog): note configurable chat history limits
2026-04-01 21:08:37 +11:00
Peter Steinberger
a59f2f43b6
test: drop thread-ownership hook registration smoke
2026-04-01 03:12:19 +01:00
Jacob Tomlinson
f92c92515b
fix(extensions): route fetch calls through fetchWithSsrFGuard ( #53929 )
...
* fix(extensions): route fetch calls through fetchWithSsrFGuard
Replace raw fetch() with fetchWithSsrFGuard in BlueBubbles, Mattermost,
Nextcloud Talk, and Thread Ownership extensions so outbound requests go
through the shared DNS-pinning and network-policy layer.
BlueBubbles: thread allowPrivateNetwork from account config through all
fetch call sites (send, chat, reactions, history, probe, attachments,
multipart). Add _setFetchGuardForTesting hook for test overrides.
Mattermost: add guardedFetchImpl wrapper in createMattermostClient that
buffers the response body before releasing the dispatcher. Handle
null-body status codes (204/304).
Nextcloud Talk: wrap both sendMessage and sendReaction with
fetchWithSsrFGuard and try/finally release.
Thread Ownership: add fetchWithSsrFGuard and ssrfPolicyFromAllowPrivateNetwork
to the plugin SDK surface; use allowPrivateNetwork:true for the
Docker-internal forwarder.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* fix(extensions): improve null-body handling and test harness cleanup
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* fix(bluebubbles): default to strict SSRF policy when allowPrivateNetwork is unset
Callers that omit allowPrivateNetwork previously got undefined policy,
which caused blueBubblesFetchWithTimeout to fall through to raw fetch
and bypass the SSRF guard entirely.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* fix(bluebubbles): thread allowPrivateNetwork through action and monitor call sites
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* fix(mattermost,nextcloud-talk): add allowPrivateNetwork config for self-hosted/LAN deployments
* fix: regenerate config docs baseline for new allowPrivateNetwork fields
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 02:04:54 -07:00
Vincent Koc
9a9db87952
fix(release): isolate config doc surfaces and sdk exports
2026-03-18 17:14:15 -07:00
Peter Steinberger
46f49eb6eb
refactor: shrink plugin sdk public surface
2026-03-18 23:31:08 +00:00
Vincent Koc
fbd88e2c8f
Main recovery: restore formatter and contract checks ( #49570 )
...
* Extensions: fix oxfmt drift on main
* Plugins: restore runtime barrel exports on main
* Config: restore web search compatibility types
* Telegram: align test harness with reply runtime
* Plugin SDK: fix channel config accessor generics
* CLI: remove redundant search provider casts
* Tests: restore main typecheck coverage
* Lobster: fix test import formatting
* Extensions: route bundled seams through plugin-sdk
* Tests: use extension env helper for xai
* Image generation: fix main oxfmt drift
* Config: restore latest main compatibility checks
* Plugin SDK: align guardrail tests with lint
* Telegram: type native command skill mock
2026-03-18 00:30:01 -07:00
Vincent Koc
d341d68180
Plugin SDK: trim legacy helper exports
2026-03-17 23:32:16 -07:00
Vincent Koc
0f56b16d47
Plugins: internalize more extension SDK imports
2026-03-17 10:42:52 -07:00
Peter Steinberger
6f795fd60e
refactor: dedupe bundled plugin entrypoints
2026-03-17 00:14:12 -07:00
Peter Steinberger
40b0cbd713
test: dedupe thread ownership send checks
2026-03-13 23:35:27 +00:00
Gustavo Madeira Santana
7c96d82112
Plugins/thread-ownership: migrate to scoped plugin-sdk imports
2026-03-04 02:35:13 -05:00
Gustavo Madeira Santana
1278ee9248
plugin-sdk: add channel subpaths and migrate bundled plugins
2026-03-03 22:07:03 -05:00
Sebastian
4aed4eedb7
test(extensions): cast fetch mocks to satisfy tsgo
2026-02-16 21:25:35 -05:00
Peter Steinberger
51296e770c
feat(slack): land thread-ownership from @DarlingtonDeveloper ( #15775 )
...
Land PR #15775 by @DarlingtonDeveloper:
- add thread-ownership plugin and Slack message_sending hook wiring
- include regression tests and changelog update
Co-authored-by: Mike <108890394+DarlingtonDeveloper@users.noreply.github.com >
2026-02-13 23:37:05 +00:00