Ten links in dev-docs/agent-runner-pluginization/ pointed to the non-existent ./RUNNER_QA_GUIDE.md; point them to AGENT_RUNNER_QA_GUIDE.md. Rebased onto the docs/ -> dev-docs/ move.
Co-authored-by: RockChinQ <[email protected]>
* feat(line): EBA LINE adapter skeleton (WO-LINE-01-SKELETON-1018)
- pkg/platform/adapters/line/ 9 files (LineAdapter hybrid inheritance +
Capability + event namespace + config env load, zero hardcoded secrets)
- LINE SDK calls all stub (NotImplementedError) pending WO-LINE-00/02/03
- Verified: compileall 7/7 + ruff 0 + import chain green against
v4.11.0-hotfixed SDK (container-extracted, read-only)
- Source: handoff box WO-LINE-01-SKELETON-1018 (sha256 9/9 matched)
Co-authored-by: multica-agent <[email protected]>
* feat(line): implement WO-LINE-02 message.received loop and converter
Co-authored-by: multica-agent <[email protected]>
* feat(line): implement WO-LINE-03 streaming and send API
Co-authored-by: multica-agent <[email protected]>
* feat(line): implement WO-LINE-04 group and user event extensions
Co-authored-by: multica-agent <[email protected]>
* feat(line): implement WO-LINE-05 group and user event extensions
Co-authored-by: multica-agent <[email protected]>
* docs(line): add EBA LINE adapter architecture guide and documentation
Co-authored-by: multica-agent <[email protected]>
* feat(line): resolve Ruff warnings and manifest spec update
Co-authored-by: multica-agent <[email protected]>
* feat(line): add webhook_url config and help_links to PR_DESCRIPTION.md
Co-authored-by: multica-agent <[email protected]>
* feat(line): add webhook_url config and help_links for PR #2736
Co-authored-by: multica-agent <[email protected]>
* fix(line): ruff format, update help_links, remove nested duplicate dir
Co-authored-by: multica-agent <[email protected]>
* fix(line): resolve 12 test failures, align types, and move architecture docs to dev-docs
Co-authored-by: multica-agent <[email protected]>
* fix(line): resolve ruff lint and formatting issues for CI
Co-authored-by: multica-agent <[email protected]>
* docs(line): sanitize internal orchestration notes and standardize documentation
Co-authored-by: multica-agent <[email protected]>
* clean(line): remove internal tracking ticket references from source code
Co-authored-by: multica-agent <[email protected]>
* fix(line): resolve MessageReceivedEvent and Friend entity mapping for 100% test pass
Co-authored-by: multica-agent <[email protected]>
* fix(line): resolve E402 import order in event_converter.py
Co-authored-by: multica-agent <[email protected]>
* feat(line): implement the LINE Omni adapter on the legacy messaging flow
Replace the placeholder skeleton with a working unified-webhook adapter:
- verify X-Line-Signature with WebhookParser and acknowledge before dispatch
- build real LINE messaging clients from channel_access_token and drop
the adapter's own messages using the account id from get_bot_info
- map message/image/voice events to message.received, unsend to
message.deleted, membership changes to group/bot events, and the
remaining LINE event types to platform.specific with chat identity
- send and reply through MessagingApi with LINE's five-message budget,
a reply-token to push fallback, and honest NotSupportedError paths
- expose get_user_info, get_group_info, leave_group and the get_bot_info,
get_profile, get_group_summary pass-through actions
- keep the legacy FriendMessage/GroupMessage listeners working
- move tests to tests/unit_tests/platform, add the adapter doc, and
register line in OMNI_ADAPTER_NAMES
Co-authored-by: multica-agent <[email protected]>
---------
Co-authored-by: multica-agent <[email protected]>
Co-authored-by: RockChinQ <[email protected]>
Fixes#2814
After a session reset, keep the reset generation marker out of provider-facing external conversation state so Runner plugins start a new remote conversation.
LocalAgent declared langbot-plugin>=0.7.18, and the published 0.2.2 artifact
pinned langbot-plugin==0.7.16. The plugin runtime rejects any SDK requirement
its own SDK version does not satisfy, so both directions were dead ends: 4.11.4
(SDK 0.7.19) could not install the published build, and a 0.7.18 floor would
have locked out 4.11.2/4.11.3 (SDK 0.7.16) from the next one.
Use a bounded range from the 4.11.2 baseline instead, matching every other
official Runner and KnowledgeEngine plugin. Verified on SDK 0.7.16 and 0.7.19:
327 tests pass on both, including the runtime dependency admission contract.
Co-authored-by: multica-agent <[email protected]>
The packaging job pinned langbot-plugin 0.7.18 while Core runs 0.7.19, so it
would validate archives with a CLI that no longer matches the SDK contracts the
plugins are shipped against. Follow the Core pin.
Co-authored-by: multica-agent <[email protected]>
0041_resource_urls could not be rolled back through the supported entry point
(`python -m langbot.pkg.persistence.alembic_runner downgrade`):
- SQLite failed with `no such function: langbot_expand_resource_urls`. The UDF
is registered by an Engine `connect` hook that only runs when the application
installs the catalog, so a standalone migration process held a connection
without it.
- Both backends failed with `AttributeError: 'Engine' object has no attribute
'_langbot_resource_aliases'`, because `uninstall()` assumed `install()` had
already run on that engine.
Register the expansion UDF on the migration connection for SQLite, and let
`uninstall()` skip the alias cache when the engine never installed it. The
downgrade still rewrites retained payloads back to literal URLs and drops the
catalog; only the missing hooks were at fault.
Co-authored-by: multica-agent <[email protected]>
- webhook handler: run listener in a tracked background task so the
HTTP ACK is not coupled to the Agent run lifetime (prevents in-flight
cancellation when the request scope ends); exceptions are logged
- send_message: implement LINE Push API path (text + image) instead of
the empty stub, separated from the reply-token path
Verified in production on a self-hosted v4.11.0 deployment (LangBot
community edition, rootless Docker).
Co-authored-by: leonoxo <[email protected]>
* feat(plugin): upload debug plugin to LangBot Space with optional GitHub sync
- SDK: reusable in-memory .lbpkg packaging + git sync helper (local git by default, optional repo/token override)
- routing: space-upload config/upload/git-sync endpoints; debug plugins resolved via OSS bridge without touching get_plugin_info
- frontend: debug-card entry + upload dialog with multi-language metadata, icon upload and changelog
- i18n across 8 locales; operation-trace + action allowlist entries
* fix(plugin-space-upload): stable dialog width, single-line locale tabs, broader error surfacing
- fixed dialog width so toggling the GitHub section no longer resizes it
- language tabs render on one line (horizontal scroll when needed)
- surface the real upload/git error message (msg field) instead of [object Object]
- hint that a missing GitHub repo is auto-created when a token is provided
* fix(plugin-space-upload): narrow dialog and reset sm:max-w clamp
The base DialogContent applies sm:max-w-lg at the sm breakpoint, which overrode the unprefixed max-w-none and clamped the upload card to 32rem on desktop. Set an explicit sm:max-width and size the card to ~36rem. Locale tabs now wrap instead of scrolling horizontally.
* fix
* fix(plugin-space-upload): address CI and UX feedback
- narrow the upload dialog to ~36rem and reset the sm:max-w clamp
- guide the publisher to the Space review page after a successful upload
- drop the redundant null comparison flagged by code quality
- update the operation-action expectation and Space/LangBot Account wording
- ruff format the touched API modules
* feat(plugin-space-upload): public repo, editable author/license, card red dot
* fix(market): replace yellow download count with update available badge
* style(market): unify installed and update indicators into badges
* feat(plugin): redesign debug card banner, style debug icon, and prioritize debug plugins
* feat(plugin-space-upload): simplify upload dialog layout, add creator verification and market redirection
* fix(i18n): use LangBot Account terminology in Space upload dialog
Co-authored-by: multica-agent <[email protected]>
* style(i18n): reflow reworded locale strings for prettier
Co-authored-by: multica-agent <[email protected]>
* test(utils): stop timing out the pattern-count cap test on loaded runners
Co-authored-by: multica-agent <[email protected]>
---------
Co-authored-by: Hyu <[email protected]>
Co-authored-by: RockChinQ <[email protected]>
Co-authored-by: multica-agent <[email protected]>