Peter Steinberger
ffc665bbb3
fix(discord): keep durable forum batches in one thread ( #121165 )
2026-08-11 03:54:26 -07:00
joshavant
07b7d6446c
fix(matrix): reconcile durable sends after response loss
2026-08-01 02:45:12 -05:00
Peter Steinberger
e89ff13494
fix(nostr): report unavailable ingress when queue open fails ( #115313 )
...
* fix(nostr): surface durable ingress startup failures
* chore: keep changelog release-owned
2026-07-28 13:34:23 -04:00
Peter Steinberger
c7e7ac2728
refactor: remove expired plugin compatibility surfaces ( #111451 )
...
* docs(secrets): remove retired web credential paths
* refactor(web): remove retired provider compatibility paths
* refactor(providers): delete retired compatibility routes
* refactor(secrets): remove retired credential aliases
* refactor(plugin-sdk): delete retired compatibility surfaces
* docs(plugin-sdk): remove retired migration guidance
* chore(plugin-sdk): refresh rebased surface budgets
* chore(plugin-sdk): refresh API removal baseline
* refactor(compat): migrate retired internal callers
* chore(plugin-sdk): refresh current-main baselines
* test(config): migrate plugin-owned secret assertions
* test(gateway): narrow plugin secret refs
* fix(plugin-sdk): preserve private boundary type identity
* chore(compat): remove stale sweep references
* chore(lint): lower max-lines budget
* refactor(secrets): remove unused web helper
* build(plugin-sdk): drop removed compat entries
* chore(plugin-sdk): refresh rebased API baseline
* chore(plugin-sdk): use Linux API baseline hash
* fix(plugin-sdk): preserve private bundled build entries
* fix(plugin-sdk): package private runtime facades
* fix(plugins): preserve external credential contracts
2026-07-19 11:04:48 -07:00
Peter Steinberger
bbcfec9e96
fix(channels): prevent outbound echoes and expose native login ( #111341 )
...
* fix(channels): centralize outbound echo suppression
* chore(plugin-sdk): refresh channel outbound surface
* test(commands): avoid native plugin fallback loading
* refactor(channels): separate outbound echo state
* docs(changelog): note channel action decisions
* fix(discord): align webhook preflight call
* fix(discord): use type-only thread binding import
* fix(channels): stream login blocks and widen turn results
* test(channels): narrow drop-capable turn results
* fix(channels): address echo and reply edge cases
2026-07-19 03:49:11 -07:00
Peter Steinberger
7562b79465
refactor(channels): share durable ingress monitor ( #111017 )
...
* refactor(channels): share durable ingress monitor
* fix(channels): harden ingress monitor shutdown
* docs: refresh SDK documentation map
2026-07-19 00:42:08 +01:00
Ayaan Zaidi
16c14e5bbf
feat(channels): expose the turn-adoption lifecycle seam
...
Replace the bare onTurnAdopted callback and queuedFollowupLifecycle with one
turnAdoptionLifecycle surface (onSettled guaranteed via finally; adoption-loss
aborts queued steering turns without transcript replay), threaded through the
turn kernel and agent runner, exposed to plugins via
runtime.state.openChannelIngressDrain and the channel-outbound SDK barrel,
with surface budgets re-measured against the narrowed baselines (#108656 ).
2026-07-17 10:12:54 +05:30
moguangyu5-design
aa12e71de7
fix(outbound): preserve attributed inline formatting ( #104118 )
...
* fix(outbound): preserve backticks on <code> tags with attributes
The plain-text sanitizer only matched bare <code> openers, so attributed
variants such as <code class="language-ts"> lost their backtick wrapping
and were stripped to raw text before channel delivery.
Allow optional attributes on the opening <code> tag, consistent with the
existing handling for <h[1-6]> and <li> in the same function.
Fixes #104117
* fix(outbound): preserve attributed inline formatting
Co-authored-by: chengzhichao-xydt <chengzhichao-xydt@users.noreply.github.com >
* test(outbound): compact attributed tag coverage
* fix(outbound): normalize attributed formatting tags
* docs(outbound): clarify attribute normalization invariant
* fix(outbound): preserve native formatting semantics
* docs(plugin-sdk): document sanitizer markup styles
* docs(plugin-sdk): refresh docs map
---------
Co-authored-by: moguangyu5-design <moguangyu5-design@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: chengzhichao-xydt <chengzhichao-xydt@users.noreply.github.com >
2026-07-11 12:03:11 -07:00
xingzhou
babc287afe
fix(slack): time out stalled external file uploads ( #103442 )
...
* fix(slack): time out stalled external file uploads
* fix(slack): scope external upload timeout
* fix(slack): restrict external upload transport
* fix(slack): restrict external upload transport
* fix(slack): preserve external upload retry safety
* test(slack): use compatible guarded fetch runtime
* test(plugin-sdk): update public export baseline
* fix(slack): harden external upload delivery
* refactor(slack): isolate upload completion
Keep ordinary Enterprise Grid traffic on the Bolt listener client. Use a team-scoped no-retry client only for one-shot external upload completion, while preserving the bounded raw-upload timeout and safe durable replay classification.
* fix(slack): refresh upload release metadata
* chore(slack): leave release notes release-owned
* fix(slack): classify failed uploads before completion
* fix(slack): keep upload completion untimed
* test(plugin-sdk): refresh public export baseline
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 23:52:35 +01:00
kevinlin-openai
245b91b83d
feat(slack): support Enterprise Grid org installs ( #102372 )
...
* feat(slack): support Enterprise Grid org installs
* docs: refresh generated docs map
* fix(slack): satisfy enterprise routing CI
* fix(slack): accept org auth without app id
* docs(plugin-sdk): document channel policy hooks
* fix(slack): reuse canonical sender for enterprise replies
* test(slack): fix enterprise sender lint
---------
Co-authored-by: Kevin Lin <kevin@dendron.so >
2026-07-08 23:53:19 -07:00
Piotr Durlej
f46fc8c7ad
docs(channels): clarify message receipt evidence ( #90063 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-06 10:39:19 +01:00
Peter Steinberger
f7d7148cf0
docs: rewrite published docs grounded in current source ( #100142 )
...
Source-grounded rewrite of 529 published docs pages with per-unit information-loss verification: 1,713 factual corrections cited to src/**, generated surfaces regenerated, frontmatter titles preserved for i18n, release notes pages untouched. All docs gates green.
Closes #100141
2026-07-05 00:32:47 -04:00
Ayaan Zaidi
b9095bf70d
refactor(channel): share draft chunking resolver
2026-06-10 13:35:19 +05:30
Peter Steinberger
1507a9701b
refactor: centralize inbound supplemental context
...
* refactor: centralize inbound supplemental context
* refactor: trim supplemental finalizer typing
* docs: clarify supplemental context projection
* refactor: move inbound finalization into core
* refactor: simplify channel inbound facts
* refactor: fold supplemental media into inbound finalizer
* refactor: migrate channel inbound callers to builder
* docs: mark inbound finalizer compat types deprecated
* refactor: wire runtime turn context builder
* refactor: replace channel turn runtime API
* fix: respect discord quote visibility
* fix: avoid deprecated line dispatch helper
* refactor: deprecate channel message SDK seams
* docs: trim channel outbound SDK page
* test: migrate irc inbound assertion
* refactor: deprecate outbound SDK facades
* refactor: deprecate channel helper SDK facades
* refactor: deprecate channel streaming SDK facade
* refactor: move direct dm helpers into inbound SDK
* chore: mark legacy test-utils SDK alias deprecated
* refactor: remove unused allow-from read helper
* refactor: route remaining channel dispatch through core
* refactor: enforce modern extension SDK imports
* test: give slow image root tests more time
* ci: support node fallback on windows
* fix: add transcripts tool display metadata
* refactor: trim legacy channel test seams
* fix: preserve channel compat after rebase
* fix: keep deprecated channel inbound aliases
* fix: preserve discord thread context visibility
* fix: clean final rebase conflicts
* fix: preserve channel message dispatch aliases
* fix: sync channel refactor after rebase
* fix: sync channel refactor after latest main
* fix: dedupe memory-core subagent mock
* test: align clickclack inbound dispatch assertions
* fix: sync plugin sdk api hash after rebase
* fix: sync channel refactor after latest main
* fix: sync plugin sdk api hash after rebase
* fix: sync plugin sdk api hash after latest main
* test: remove stale inbound context awaits
2026-05-27 09:26:06 +01:00