Skip to content

Dev#57

Merged
zfoong merged 37 commits intostagingfrom
dev
Jan 2, 2026
Merged

Dev#57
zfoong merged 37 commits intostagingfrom
dev

Conversation

@zfoong
Copy link
Collaborator

@zfoong zfoong commented Jan 2, 2026

v0.0.4

zfoong and others added 30 commits December 26, 2025 14:13
…pdate shell exec code to prevent stdin behaviour causing agent to freeze.
- action executor runs abstracted venv and subprocesses
Update create and run python instructure to prevent system exit and u…
…eturn-json

Refactor actions to use output JSON responses
…ernal-for-actions

Set action execution modes to internal
- Created action loader for py files
- Create singleton registry for actions
- Create action tests file
- fix code export
- database only loads py files
- code ravamp
- code cleanup
@zfoong zfoong requested a review from ahmad-ajmal January 2, 2026 08:12
@zfoong zfoong merged commit 26fc017 into staging Jan 2, 2026
Copy link

@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.

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +185 to +189
execution_mode = getattr(action, "execution_mode", "sandboxed")
logger.debug(f"[EXECTION CODE] {action.code}")

if execution_mode == "internal":
result = _atomic_action_internal(action.code, input_data)

Choose a reason for hiding this comment

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

P1 Badge Internal action path clashes with asyncio.run usage

Internal actions now run inline on the already-running event loop (core/action/action_executor.py internal branch), so any action that calls asyncio.run(...) will raise RuntimeError: asyncio.run() cannot be called from a running event loop instead of executing. Several default tools do this (e.g., core/data/action/google search.py:106-110), meaning common actions fail immediately after this change. Offload internal actions to a separate thread/process or execute their coroutines without asyncio.run to avoid breaking these tools.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants