gsxdsm
af06170a51
FN-6778: add agent artifact registry tools
Adds engine and chat tools for registering, discovering, and viewing artifacts with inbox notifications.
- Add fn_artifact_register, fn_artifact_list, and fn_artifact_view tools for heartbeat, executor, and chat sessions.
- Send best-effort dashboard system inbox notifications when artifacts are registered.
- Classify artifact tools for action gating and coordination exemptions, with coverage for executor, heartbeat, permanent agent, and chat flows.
- Document the artifact registry behavior and update package metadata, quarantine ledger, and line-count baseline.
Files changed:
.changeset/fn-6778-artifact-agent-tools.md | 5 +
CONCEPTS.md | 3 +
docs/agents.md | 1 +
packages/core/src/db.ts | 1 +
.../src/__tests__/session-error-recovery.test.ts | 1 +
.../session-persistence-roundtrip.test.ts | 1 +
.../src/__tests__/session-reconnect.test.ts | 1 +
.../src/__tests__/session-resume-history.test.ts | 1 +
packages/dashboard/src/chat.ts | 6 +-
packages/dashboard/src/planning.ts | 4 +
packages/dashboard/src/test/mockCoreEngine.ts | 1 +
.../engine/src/__tests__/agent-action-gate.test.ts | 3 +
.../src/__tests__/agent-artifact-tools.test.ts | 458 +++++++++++++++++++++
.../src/__tests__/executor-step-session.test.ts | 48 +++
.../src/__tests__/gating-classifications.test.ts | 3 +
.../src/__tests__/heartbeat-executor.test.ts | 40 +-
.../src/__tests__/heartbeat-session-prompt.test.ts | 25 +-
.../src/__tests__/permanent-agent-gating.test.ts | 6 +
packages/engine/src/agent-heartbeat.ts | 6 +-
packages/engine/src/agent-tools.ts | 288 ++++++++++++-
packages/engine/src/executor.ts | 25 ++
packages/engine/src/gating-classifications.ts | 7 +
packages/engine/src/index.ts | 9 +
scripts/lib/test-quarantine.json | 8 +-
scripts/line-count-baseline.json | 54 +--
25 files changed, 945 insertions(+), 60 deletions(-)
Fusion-Task-Id: FN-6778
Fusion-Task-Lineage: 7eb4afcb-8140-4f86-9540-eb3b83e64148
2026-06-22 03:34:14 -07:00
..
2026-06-21 22:29:13 -07:00
2026-06-22 03:34:14 -07:00
2026-06-03 17:36:35 -07:00
2026-05-13 17:44:46 -07:00
2026-04-27 08:21:48 -07:00
2026-05-12 07:47:11 -07:00
2026-05-12 17:04:33 -07:00
2026-05-14 05:07:03 -07:00
2026-05-29 13:58:13 -07:00
2026-06-19 16:47:33 -07:00
2026-05-13 22:41:30 -07:00
2026-06-21 13:25:41 -07:00
2026-05-23 19:51:36 -07:00
2026-05-19 17:19:03 -07:00
2026-06-14 15:29:35 -07:00
2026-06-14 15:29:35 -07:00
2026-04-27 08:21:48 -07:00
2026-06-13 19:22:00 -07:00
2026-06-13 15:44:28 -07:00
2026-04-27 08:21:48 -07:00
2026-05-11 09:52:23 +02:00
2026-06-18 13:41:37 -07:00
2026-04-27 08:21:48 -07:00
2026-06-18 13:41:37 -07:00
2026-06-19 20:47:32 -07:00
2026-06-18 16:47:09 -07:00
2026-06-22 03:34:14 -07:00
2026-06-16 18:03:41 -07:00
2026-05-12 17:04:33 -07:00
2026-05-20 02:46:49 -07:00
2026-05-11 06:47:43 -07:00
2026-05-23 03:33:53 -07:00
2026-05-20 22:25:15 -07:00
2026-04-27 08:21:48 -07:00
2026-06-16 15:08:24 -07:00
2026-05-23 03:09:00 -07:00
2026-05-14 11:15:47 -07:00
2026-05-09 13:21:47 -07:00
2026-06-21 10:53:08 -07:00
2026-05-27 21:31:12 -07:00
2026-03-30 23:56:01 -07:00
2026-03-26 01:03:16 -04:00
2026-06-20 23:57:37 -07:00
2026-04-27 08:21:48 -07:00
2026-06-03 17:57:29 -07:00
2026-04-29 08:15:38 -07:00
2026-06-21 16:48:20 -07:00
2026-06-17 19:25:06 -07:00
2026-06-07 18:51:46 -07:00
2026-06-21 22:29:13 -07:00
2026-06-21 21:48:40 -07:00
2026-05-03 05:47:11 -07:00
2026-06-19 05:13:39 -07:00