Skip to content

fix: resolve duplicate property definition in Matrix plugin#50919

Closed
bugkill3r wants to merge 1 commit intoopenclaw:mainfrom
bugkill3r:fix/matrix-redefine-property
Closed

fix: resolve duplicate property definition in Matrix plugin#50919
bugkill3r wants to merge 1 commit intoopenclaw:mainfrom
bugkill3r:fix/matrix-redefine-property

Conversation

@bugkill3r
Copy link
Copy Markdown
Contributor

Summary

  • Fix TypeError: Cannot redefine property: requiresExplicitMatrixDefaultAccount when loading Matrix plugin
  • Pre-export local symbols before star re-export to prevent Jiti CJS interop circular definition conflict
  • Follows the repo's "Extension SDK self-import guardrail" guideline

Closes #50868

@openclaw-barnacle openclaw-barnacle bot added channel: matrix Channel integration: matrix size: XS labels Mar 20, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 20, 2026

Greptile Summary

This PR fixes a TypeError: Cannot redefine property: requiresExplicitMatrixDefaultAccount crash triggered by Jiti's CJS interop guard when loading the Matrix plugin. The root cause is a circular re-export path: runtime-api.ts → export * from "openclaw/plugin-sdk/matrix" → helper-api.js / thread-bindings-runtime.js → back to the same extension source files. By declaring explicit named exports for the nine affected symbols before the star re-export, the CJS hasOwnProperty guard sees them already defined and skips the duplicate assignment.

  • All nine symbols re-exported through the circular path (requiresExplicitMatrixDefaultAccount, resolveMatrixDefaultOrOnlyAccountId, getMatrixScopedEnvVarNames, resolveMatrixAccountStorageRoot, resolveMatrixCredentialsDir, resolveMatrixCredentialsPath, resolveMatrixLegacyFlatStoragePaths, setMatrixThreadBindingIdleTimeoutBySessionKey, setMatrixThreadBindingMaxAgeBySessionKey) are correctly pre-exported from their canonical source files.
  • Maintenance risk: if plugin-sdk/matrix.ts ever adds a new named re-export originating from helper-api.js or thread-bindings-runtime.js, this pre-export list in runtime-api.ts will need a matching update or the same TypeError will recur. A code comment cross-referencing plugin-sdk/matrix.ts lines 86-88 and 159-168 would help future maintainers keep the two files in sync.

Confidence Score: 4/5

  • PR is safe to merge — the fix is correct and complete for the current set of circular symbols.
  • All nine symbols involved in the circular re-export path are correctly pre-exported from their canonical source files, and the ordering (explicit named exports before the star re-export) is right. TypeScript permits an explicit named re-export and a star re-export of the same name in the same module without error, so there are no compile-time concerns. The only residual risk is a future maintenance scenario where new symbols are added to plugin-sdk/matrix.ts from helper-api.js/thread-bindings-runtime.js without a matching update here.
  • No files require special attention for this merge, but reviewers should note that src/plugin-sdk/matrix.ts lines 86-88 and 159-168 must stay in sync with the pre-export list at the top of extensions/matrix/src/runtime-api.ts.

Last reviewed commit: "fix: trim pre-export..."

@bugkill3r
Copy link
Copy Markdown
Contributor Author

@greptile-apps review

@bugkill3r bugkill3r force-pushed the fix/matrix-redefine-property branch from afc3ed4 to c21fa92 Compare March 21, 2026 03:25
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c21fa92700

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

// Star re-export for the remaining (non-extension) symbols in plugin-sdk/matrix.
// Properties already defined above are skipped by the CJS interop guard, so the
// circular helper-api path is never reached for those symbols.
export * from "openclaw/plugin-sdk/matrix";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore a resolvable plugin-sdk target here

Any path that loads extensions/matrix/src/runtime-api.ts now hard-fails before the Matrix plugin can register, because openclaw/plugin-sdk/matrix is not a public package subpath. package.json only exports ./plugin-sdk/matrix-runtime-heavy and ./plugin-sdk/matrix-runtime-shared, and src/plugin-sdk/subpaths.test.ts explicitly asserts that matrix stays off the curated subpath list, so Node/Jiti resolves this as ERR_PACKAGE_PATH_NOT_EXPORTED. Since extensions/matrix/index.ts imports src/channel.ts, which in turn imports ./runtime-api.js, this breaks normal Matrix plugin startup rather than just an edge case.

Useful? React with 👍 / 👎.

@sambegui
Copy link
Copy Markdown

Missing symbols in pre-export list — 6 of 15 circular-path symbols omitted

Tested on v2026.3.22 with @openclaw/matrix v2026.3.22 (ClawHub). The PR's 9-symbol fix resolves the error for requiresExplicitMatrixDefaultAccount, but the same TypeError: Cannot redefine property then fires on resolveMatrixAccountStringValues (and would fire on
the other 5 depending on Jiti's resolution order).

Root cause

plugin-sdk/matrix.js imports 15 symbols from matrix-Cm_PTzgs.js via the circular re-export path. All 15 need pre-exporting, not just 9.

Missing 6 symbols

findMatrixAccountEntry,
matrixSetupAdapter,
matrixSetupWizard,
resolveConfiguredMatrixAccountIds,
resolveMatrixAccountStringValues,
resolveMatrixChannelConfig,

Complete fix (all 15 from matrix-Cm_PTzgs.js)

export {
  findMatrixAccountEntry,
  getMatrixScopedEnvVarNames,
  matrixSetupAdapter,
  matrixSetupWizard,
  requiresExplicitMatrixDefaultAccount,
  resolveConfiguredMatrixAccountIds,
  resolveMatrixAccountStorageRoot,
  resolveMatrixAccountStringValues,
  resolveMatrixChannelConfig,
  resolveMatrixCredentialsDir,
  resolveMatrixCredentialsPath,
  resolveMatrixDefaultOrOnlyAccountId,
  resolveMatrixLegacyFlatStoragePaths,
  setMatrixThreadBindingIdleTimeoutBySessionKey,
  setMatrixThreadBindingMaxAgeBySessionKey,
} from "openclaw/plugin-sdk/matrix";

Verification

With all 15 pre-exported in extensions/matrix/src/runtime-api.ts, the plugin loads cleanly  proceeds to crypto bootstrap and homeserver connection. No TypeError.

Drickon added a commit to Drickon/openclaw that referenced this pull request Mar 23, 2026
…tartup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.
steipete pushed a commit that referenced this pull request Mar 24, 2026
…tartup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues #50868, #52780, and #52891, and uses the same fix pattern as
PR #50919.
steipete pushed a commit to Drickon/openclaw that referenced this pull request Mar 24, 2026
…tartup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.
steipete added a commit that referenced this pull request Mar 24, 2026
…tartup (#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues #50868, #52780, and #52891, and uses the same fix pattern as
PR #50919.

* test: add LINE runtime-api Jiti regression (#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (#53221) (thanks @Drickon)

* chore: retrigger PR checks (#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
yujuntea pushed a commit to yujuntea/openclaw that referenced this pull request Mar 24, 2026
…tartup (openclaw#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.

* test: add LINE runtime-api Jiti regression (openclaw#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* chore: retrigger PR checks (openclaw#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
hzq001 pushed a commit to hzq001/openclaw that referenced this pull request Mar 24, 2026
…tartup (openclaw#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.

* test: add LINE runtime-api Jiti regression (openclaw#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* chore: retrigger PR checks (openclaw#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
furaul pushed a commit to furaul/openclaw that referenced this pull request Mar 24, 2026
…tartup (openclaw#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.

* test: add LINE runtime-api Jiti regression (openclaw#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* chore: retrigger PR checks (openclaw#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
tiagonix pushed a commit to tiagonix/openclaw that referenced this pull request Mar 24, 2026
…tartup (openclaw#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.

* test: add LINE runtime-api Jiti regression (openclaw#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* chore: retrigger PR checks (openclaw#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
netandreus pushed a commit to netandreus/openclaw that referenced this pull request Mar 25, 2026
…tartup (openclaw#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.

* test: add LINE runtime-api Jiti regression (openclaw#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* chore: retrigger PR checks (openclaw#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
Drickon added a commit to Drickon/openclaw that referenced this pull request Mar 25, 2026
…ut handling

extensions/line/runtime-api.ts: pre-export local symbols that overlap
with line-runtime before the star-re-export so jiti's _exportNames guard
skips the duplicate defineProperty call. Same fix as Matrix PR openclaw#50919.
This fix must be re-checked after rebases that touch this file.

src/agents/subagent-announce.ts:
- Lower OUTPUT_THRESHOLD to 2,500 chars (was 30,000 from uncommitted change,
  restoring intent of original 3,000 but tighter)
- Keep preview slice at 1,500 chars (reverts Atlas's 12,000 bump)
- Pass savedFilePath into buildAnnounceReplyInstruction so the reply
  instruction explicitly tells the agent to read the full output file
  when output was truncated, rather than leaving a subtle italic hint

Also: regenerate stale base config schema; add void to pre-existing
floating-promise lint errors in message-preprocess-hooks.test.ts.
npmisantosh pushed a commit to npmisantosh/openclaw that referenced this pull request Mar 25, 2026
…tartup (openclaw#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.

* test: add LINE runtime-api Jiti regression (openclaw#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* chore: retrigger PR checks (openclaw#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
@bugkill3r bugkill3r force-pushed the fix/matrix-redefine-property branch from c21fa92 to f35d797 Compare March 27, 2026 07:33
@bugkill3r
Copy link
Copy Markdown
Contributor Author

Thanks @sambegui for the thorough testing! You're absolutely right — I've updated the PR to pre-export all 15 circular-path symbols from their local sources. The complete list now covers findMatrixAccountEntry, matrixSetupAdapter, matrixSetupWizard, resolveConfiguredMatrixAccountIds, resolveMatrixAccountStringValues, and resolveMatrixChannelConfig in addition to the original 9. Also rebased onto latest main.

godlin-gh pushed a commit to YouMindInc/openclaw that referenced this pull request Mar 27, 2026
…tartup (openclaw#53221)

* fix(line): pre-export clashing symbols to prevent jiti TypeError on startup

When jiti CJS-transforms extensions/line/runtime-api.ts, both
export * from "openclaw/plugin-sdk/line-runtime" and the subsequent
export * from individual source files attempt to define the same 13
symbols via Object.defineProperty with configurable:false. The second
call throws TypeError: Cannot redefine property.

The root cause is that src/plugin-sdk/line-runtime.ts re-exports
these symbols directly from the extension source files, creating a
circular path back to the same files that runtime-api.ts star-exports.

Fix: add named pre-exports for all symbols that plugin-sdk/line-runtime
re-exports from this extension. Named exports register in jiti's
_exportNames map at transform time; the star re-export's hasOwnProperty
guard then skips them, preventing the duplicate Object.defineProperty.

export * reordering cannot fix this: _exportNames is only populated
by named exports, not by export *, so the guard never fires regardless
of order.

This is the same class of bug as the Matrix plugin crash described in
issues openclaw#50868, openclaw#52780, and openclaw#52891, and uses the same fix pattern as
PR openclaw#50919.

* test: add LINE runtime-api Jiti regression (openclaw#53221) (thanks @Drickon)

* test: stabilize LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* test: harden LINE Jiti regression (openclaw#53221) (thanks @Drickon)

* chore: retrigger PR checks (openclaw#53221)

---------

Co-authored-by: Peter Steinberger <[email protected]>
@bugkill3r
Copy link
Copy Markdown
Contributor Author

Closing — upstream has reworked extensions/matrix/src/runtime-api.ts extensively in recent commits (a953cb5, 1e5f38a, ff6541f) with a different approach to the duplicate export issue. This PR is superseded.

@bugkill3r bugkill3r closed this Mar 28, 2026
Drickon added a commit to Drickon/openclaw that referenced this pull request Mar 30, 2026
…ut handling

extensions/line/runtime-api.ts: pre-export local symbols that overlap
with line-runtime before the star-re-export so jiti's _exportNames guard
skips the duplicate defineProperty call. Same fix as Matrix PR openclaw#50919.
This fix must be re-checked after rebases that touch this file.

src/agents/subagent-announce.ts:
- Lower OUTPUT_THRESHOLD to 2,500 chars (was 30,000 from uncommitted change,
  restoring intent of original 3,000 but tighter)
- Keep preview slice at 1,500 chars (reverts Atlas's 12,000 bump)
- Pass savedFilePath into buildAnnounceReplyInstruction so the reply
  instruction explicitly tells the agent to read the full output file
  when output was truncated, rather than leaving a subtle italic hint

Also: regenerate stale base config schema; add void to pre-existing
floating-promise lint errors in message-preprocess-hooks.test.ts.
Drickon added a commit to Drickon/openclaw that referenced this pull request Apr 4, 2026
…ut handling

extensions/line/runtime-api.ts: pre-export local symbols that overlap
with line-runtime before the star-re-export so jiti's _exportNames guard
skips the duplicate defineProperty call. Same fix as Matrix PR openclaw#50919.
This fix must be re-checked after rebases that touch this file.

src/agents/subagent-announce.ts:
- Lower OUTPUT_THRESHOLD to 2,500 chars (was 30,000 from uncommitted change,
  restoring intent of original 3,000 but tighter)
- Keep preview slice at 1,500 chars (reverts Atlas's 12,000 bump)
- Pass savedFilePath into buildAnnounceReplyInstruction so the reply
  instruction explicitly tells the agent to read the full output file
  when output was truncated, rather than leaving a subtle italic hint

Also: regenerate stale base config schema; add void to pre-existing
floating-promise lint errors in message-preprocess-hooks.test.ts.
Drickon added a commit to Drickon/openclaw that referenced this pull request Apr 4, 2026
…ut handling

extensions/line/runtime-api.ts: pre-export local symbols that overlap
with line-runtime before the star-re-export so jiti's _exportNames guard
skips the duplicate defineProperty call. Same fix as Matrix PR openclaw#50919.
This fix must be re-checked after rebases that touch this file.

src/agents/subagent-announce.ts:
- Lower OUTPUT_THRESHOLD to 2,500 chars (was 30,000 from uncommitted change,
  restoring intent of original 3,000 but tighter)
- Keep preview slice at 1,500 chars (reverts Atlas's 12,000 bump)
- Pass savedFilePath into buildAnnounceReplyInstruction so the reply
  instruction explicitly tells the agent to read the full output file
  when output was truncated, rather than leaving a subtle italic hint

Also: regenerate stale base config schema; add void to pre-existing
floating-promise lint errors in message-preprocess-hooks.test.ts.
Drickon added a commit to Drickon/openclaw that referenced this pull request Apr 4, 2026
…ut handling

extensions/line/runtime-api.ts: pre-export local symbols that overlap
with line-runtime before the star-re-export so jiti's _exportNames guard
skips the duplicate defineProperty call. Same fix as Matrix PR openclaw#50919.
This fix must be re-checked after rebases that touch this file.

src/agents/subagent-announce.ts:
- Lower OUTPUT_THRESHOLD to 2,500 chars (was 30,000 from uncommitted change,
  restoring intent of original 3,000 but tighter)
- Keep preview slice at 1,500 chars (reverts Atlas's 12,000 bump)
- Pass savedFilePath into buildAnnounceReplyInstruction so the reply
  instruction explicitly tells the agent to read the full output file
  when output was truncated, rather than leaving a subtle italic hint

Also: regenerate stale base config schema; add void to pre-existing
floating-promise lint errors in message-preprocess-hooks.test.ts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: matrix Channel integration: matrix size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Matrix loading error

2 participants