Skip to content

feat(mcp): account tags & triggers tools (account_to_actors), v1.8.0#19

Merged
salimovartem merged 1 commit into
corezoid:developfrom
ABazyk:feat/account-tags-triggers-tools
Jun 10, 2026
Merged

feat(mcp): account tags & triggers tools (account_to_actors), v1.8.0#19
salimovartem merged 1 commit into
corezoid:developfrom
ABazyk:feat/account-tags-triggers-tools

Conversation

@ABazyk

@ABazyk ABazyk commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

What

Exposes the backend's account_to_actors mechanism — actors attached to accounts — as curated MCP tools, with full skill coverage. Account tags and triggers are ordinary actors of the Tags / AccountTriggers system forms linked to accounts; this PR makes that workable end-to-end from the plugin.

New curated tools (96 → 101)

  • saveAccountActors — REPLACE the actors linked to a (nameId, currencyId) pair (account tags, account triggers) or to ONE account via accountId (per-account triggers). Description mandates formId scoping: an unscoped pair-level call wipes the pair's tags and pair-level triggers alike.
  • getDataFieldActorsByActor / saveDataFieldActorsByActor / getDataFieldActorsByForm / saveDataFieldActorsByForm — DATA triggers (valueType=data + operator/comparisonValue) bound to a data field of one actor or of every actor of a form. The colliding query/path formId on the form route is disambiguated via Param.Wire as triggerFormId.
  • getAccounts gains tag, ungrouped, withTags, withTriggers (reading tags/triggers goes through it — papi has no GET for pair links).

Skill & docs

  • simulator-finance: new Account tags & triggers section — system-form discovery via getForms(formTypes="system"), the AccountTriggers data schema (incl. [{title,value}] select shape), zone-transition firing semantics (lowerZone/normalZone/upperZone, fires only on zone change), webhook delivery to users with access to the trigger actor, replace-semantics warnings, dataField-is-a-field-id note; tag/trigger activation phrases in the frontmatter (discovery regenerated).
  • docs/entities/accounts.md: matching reference section.
  • README / docs/ARCHITECTURE.md: new tool-table row (+ previously-unlisted createAccountPair), curated-tool figure → ~100.
  • 4 eval scenarios + dry fixtures for the new tools.

Backend dependency

pong-server MR declaring the five operationIds on /papi/1.0/accounts/actors/* (swagger metadata only): https://git.corezoid.com/pong/pong-server/-/merge_requests/1826. papi-openapi.json re-dumped from develop + that change — drift gate green.

Verification

make build, make vet, go test ./... (incl. drift gate against the re-dumped spec), make discovery; pong-server file eslint-clean. Manifests bumped to 1.8.0 (.codex-plugin left at its divergent 1.10.0 — pre-existing inconsistency, not touched).

🤖 Generated with Claude Code

…p to 1.8.0

New curated tools: saveAccountActors (link Tags/AccountTriggers actors to a
(name, currency) pair or one account; replace semantics, formId-scoped) and
getDataFieldActorsByActor / saveDataFieldActorsByActor /
getDataFieldActorsByForm / saveDataFieldActorsByForm (data triggers bound to
an actor's or form's data field). getAccounts gains tag / ungrouped /
withTags / withTriggers. New 'Account tags & triggers' section in the
simulator-finance skill (AccountTriggers data schema, zone-transition firing
semantics, replace warning), matching docs/entities/accounts.md section,
eval scenarios + dry fixtures, re-dumped drift spec (pong-server MR 1826),
README/ARCHITECTURE tool tables, discovery artifacts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@salimovartem salimovartem merged commit 3c10b2c into corezoid:develop Jun 10, 2026
2 checks passed
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