Jacob Schmidt 732433f848 Add task lifecycle event bus integration
- Add a common in-process event bus
- Emit task lifecycle events from task store and instances
- Register CAD listeners to invalidate task state
2026-05-14 22:11:23 -05:00
..

Forge Server CAD

Overview

The CAD addon coordinates dispatch-facing operational state: groups, assignments, dispatch orders, support requests, task assignment, permissions, hydrate payloads, and recent activity.

CAD state is extension-backed but intentionally transient. It is scoped to the active server or mission lifecycle and starts fresh after restart.

Dependencies

  • forge_server_main
  • forge_server_common
  • forge_server_actor
  • forge_server_org
  • forge_server_task
  • forge_server_extension at runtime for CAD extension calls
  • forge_client_cad and forge_client_notifications for response RPCs

Main Components

  • fnc_initCadStore.sqf coordinates repositories and request handling.
  • fnc_initActivityRepository.sqf records recent CAD activity.
  • fnc_initAssignmentRepository.sqf manages task assignments and dispatch orders.
  • fnc_initGroupRepository.sqf manages group membership, role, and status.
  • fnc_initPermissionService.sqf resolves dispatch permissions.
  • fnc_initPersistenceService.sqf bridges SQF state to extension hot CAD storage.
  • fnc_initRequestRepository.sqf manages support requests.

Event Surface

The addon handles hydrate, task assignment, dispatch order, support request, task acknowledge/decline, and group update events. Successful mutations can invalidate CAD state globally so clients refresh their views.

Notes

CAD hydrate payloads include active task catalog entries from TaskStore and organization context from ActorStore.