/** * People Hub pack (`eaera-people`) — content types, action names, and the * portal REST endpoints mounted by the engine. * * Source of truth: * `eaera-docs/company-os/eaera-people/architecture/ct-schema-registry.md` (CT * contracts) and `eaera-docs/company-os/eaera-people/be-docs/api_references.md` * (endpoint + action contract). */ /** Pack id used with `content.fetchByType({ packId })`. Single source of truth * so the stores and services never drift. */ export declare const PEOPLE_PACK_ID = "eaera-people"; /** * Content Type names registered by the People pack. Wire names match the * `name:` field of each `pack/cts/*.yaml` verbatim (snake_case — the unified * 2026-09-09 rename, drift D-7). All 27 CTs are IMPLEMENTED (registry §3). */ export declare const PEOPLE_CONTENT_TYPE: { readonly LEGAL_ENTITY: "legal_entity"; readonly REGISTERED_BRANCH: "registered_branch"; readonly EFFECTIVE_REVISION: "effective_revision"; readonly CLOSURE_CASE: "closure_case"; readonly POLICY_ASSIGNMENT: "policy_assignment"; /** FEAT-011 registry handle — two faces, one artifact (registry §3.6). */ readonly POLICY: "policy"; readonly CATALOG_REVISION: "catalog_revision"; readonly SCOPE_EXCEPTION: "scope_exception"; readonly PROVIDER_CONFIG: "provider_config"; readonly PROVISIONING_ITEM: "provisioning_item"; readonly EXTERNAL_BINDING: "external_binding"; readonly DRIFT_FINDING: "drift_finding"; readonly DEPROVISION_PLAN: "deprovision_plan"; readonly IMPORT_CHANGESET: "import_changeset"; readonly ORG_UNIT: "org_unit"; readonly POSITION: "position"; readonly WORK_LOCATION: "work_location"; readonly UNIT_TYPE: "unit_type"; readonly WORK_LOCATION_TYPE: "work_location_type"; readonly ORG_CHANGE_SET: "org_change_set"; readonly ROLE_ASSIGNMENT: "role_assignment"; readonly ASSIGNMENT_RULE: "assignment_rule"; readonly ACCESS_REVIEW_CAMPAIGN: "access_review_campaign"; readonly REQUEST_TYPE: "request_type"; readonly REGISTERED_CAPABILITY: "registered_capability"; readonly GLUE_RULE: "glue_rule"; readonly PROCESS_TYPE: "process_type"; readonly PROCESS_INSTANCE: "process_instance"; readonly PROCESS_REPO: "process_repo"; }; export type PeopleContentTypeName = (typeof PEOPLE_CONTENT_TYPE)[keyof typeof PEOPLE_CONTENT_TYPE]; export declare const PEOPLE_CONTENT_TYPE_NAMES: readonly PeopleContentTypeName[]; /** * `effective_revision.subjectKind` enum — registry §3.3. * Not all values are content-type names (the `*-type-config` ones are * per-LE configuration rows addressed through the same effective_revision * CT). This constant exists so callers routing through `PEOPLE_ACTION_BY_CT` * or filtering revisions don't reinvent the closed union. */ export declare const PEOPLE_SUBJECT_KIND: { readonly LEGAL_ENTITY: "legal_entity"; readonly REGISTERED_BRANCH: "registered_branch"; readonly ORG_UNIT: "org_unit"; readonly POSITION: "position"; readonly WORK_LOCATION: "work_location"; readonly UNIT_TYPE_CONFIG: "unit_type_config"; readonly LOCATION_TYPE_CONFIG: "location_type_config"; }; export type PeopleSubjectKind = (typeof PEOPLE_SUBJECT_KIND)[keyof typeof PEOPLE_SUBJECT_KIND]; /** * `closure_case.targetType` / `policy_assignment.targetType` discriminators * — registry §3.4, §3.5. */ export declare const PEOPLE_TARGET_TYPE: { readonly LEGAL_ENTITY: "legal_entity"; readonly REGISTERED_BRANCH: "registered_branch"; }; export type PeopleTargetType = (typeof PEOPLE_TARGET_TYPE)[keyof typeof PEOPLE_TARGET_TYPE]; /** * Pack-mounted REST projections mounted by the engine from the pack's * `routers:` block (`be-docs/api_references.md` §6). 7 of the 9 owned * endpoints ship as routers today (access audit, provider health, * provisioning queue + the 4 FEAT-015 pack-ops reads); the 2 FEAT-016 * copilot endpoints ship too but stay untyped here until their SDK cycle. * * Plain lists (legal_entity, registered_branch, org_unit, etc.) have NO * dedicated endpoint — they go through the generic content API * (`useContentStore.fetchByType` with the `PEOPLE_CONTENT_TYPE` names). */ export declare const PEOPLE_ENDPOINT: { /** `GET /api/v1/people/access/audit` — compliance Q-A/Q-B projection. */ readonly ACCESS_AUDIT: "/api/v1/people/access/audit"; /** `GET /api/v1/people/providers/{key}/health` — path segment = business key. */ readonly providerHealth: (key: string) => string; /** `GET /api/v1/people/providers/types` — connector-truth catalog (PIP-004 Track C). */ readonly PROVIDER_TYPES: "/api/v1/people/providers/types"; /** `GET /api/v1/people/provisioning/queue` — heterogeneous, server-priority. */ readonly PROVISIONING_QUEUE: "/api/v1/people/provisioning/queue"; /** `GET /api/v1/people/ui/copy` — plain findings + vocabularies + error notes. */ readonly UI_COPY: "/api/v1/people/ui/copy"; /** `GET /api/v1/people/process-catalog` — predefined processes & git homes. */ readonly PROCESS_CATALOG: "/api/v1/people/process-catalog"; /** `GET /api/v1/people/history/versions?type_name=&identity_value=` — identity-keyed timelines. */ readonly HISTORY_VERSIONS: "/api/v1/people/history/versions"; /** `GET /api/v1/people/history/archive?type_name=&status=&limit=&offset=` — cold-storage page. */ readonly HISTORY_ARCHIVE: "/api/v1/people/history/archive"; /** `GET /api/v1/content/archive/{archive_uuid}` — one archived row + frozen payload. */ readonly archiveDetail: (archiveUuid: string) => string; /** `POST /api/v1/content/archive/sweep` — retention sweep (dry-run first). */ readonly ARCHIVE_SWEEP: "/api/v1/content/archive/sweep"; /** `POST /api/v1/content/archive/{archive_uuid}/restore` — back to hot storage. */ readonly archiveRestore: (archiveUuid: string) => string; /** `GET /api/v1/people/pack-ops/registry` — CMS pack list + template catalog. */ readonly PACK_OPS_REGISTRY: "/api/v1/people/pack-ops/registry"; /** `GET /api/v1/people/pack-ops/preflight?slug=&source=&ref=`. */ readonly PACK_OPS_PREFLIGHT: "/api/v1/people/pack-ops/preflight"; /** `GET /api/v1/people/pack-ops/{slug}/upgrade-check`. */ readonly packOpsUpgradeCheck: (slug: string) => string; /** `GET /api/v1/people/pack-ops/{slug}/impact?ref=`. */ readonly packOpsImpact: (slug: string) => string; /** Re-use the engine's generic content-action route (like `GOV_ENDPOINT`). */ readonly action: (uuid: string, actionName: string) => string; /** `/api/v1/packs` — install/rollback/PUT/DELETE live here (§6.4). */ readonly PACKS: "/api/v1/packs"; /** `/api/v1/packs/audit-log` — pack transition trail (US7). */ readonly PACKS_AUDIT: "/api/v1/packs/audit-log"; }; /** Bare `/api/v1/packs` prefix (kept for path building in packops service). */ export declare const PACKS_ENDPOINT: "/api/v1/packs"; export declare const PACKS_AUDIT_ENDPOINT: "/api/v1/packs/audit-log"; /** * The 53 pack actions the user-callable surface exposes today * (`api_references.md` §3.3 matrix). System-only actions live in * {@link PEOPLE_SYSTEM_ONLY_ACTIONS}. * * Grouped by FEAT for readability. Names mirror the registered action * handlers in `pack/actions/*.py` verbatim and are URL names (NOT handler * names — e.g. `execute_item`, not `execute`). */ export declare const PEOPLE_ACTION_NAME: { readonly REGISTER_LEGAL_ENTITY: "register_legal_entity"; readonly REACTIVATE: "reactivate"; readonly ARCHIVE_VISIBILITY: "archive_visibility"; readonly RESTORE_VISIBILITY: "restore_visibility"; readonly SCHEDULE_BRANCH: "schedule_branch"; readonly ACTIVATE_NOW: "activate_now"; readonly CANCEL_BRANCH: "cancel_branch"; readonly RESCHEDULE_BRANCH: "reschedule_branch"; readonly CORRECT_CODE: "correct_code"; readonly SCHEDULE_REVISION: "schedule_revision"; readonly CANCEL_REVISION: "cancel_revision"; readonly CLOSURE_SUBMIT: "closure_submit"; readonly CLOSURE_APPROVE: "closure_approve"; readonly CLOSURE_COMPLETE: "closure_complete"; readonly CLOSURE_REJECT: "closure_reject"; readonly CLOSURE_RETRY_FAILED: "closure_retry_failed"; readonly CLOSURE_CANCEL: "closure_cancel"; readonly SCHEDULE_ASSIGNMENT: "schedule_assignment"; readonly CANCEL_ASSIGNMENT: "cancel_assignment"; readonly DISCONTINUE_UNIT_TYPE: "discontinue_unit_type"; readonly RESTORE_UNIT_TYPE: "restore_unit_type"; readonly DISCONTINUE_LOCATION_TYPE: "discontinue_location_type"; readonly RESTORE_LOCATION_TYPE: "restore_location_type"; readonly CS_SUBMIT: "cs_submit"; readonly CS_RETURN_FOR_CORRECTION: "cs_return_for_correction"; readonly CS_APPROVE: "cs_approve"; readonly CS_REJECT: "cs_reject"; readonly CS_SCHEDULE: "cs_schedule"; readonly CS_APPLY: "cs_apply"; readonly CS_RETRY_FAILED: "cs_retry_failed"; readonly CS_CLOSE_FAILED: "cs_close_failed"; readonly CS_CREATE_REPLACEMENT: "cs_create_replacement"; readonly CS_CANCEL: "cs_cancel"; readonly VALIDATE_REVISION: "validate_revision"; readonly PUBLISH_REVISION: "publish_revision"; readonly FORK_DRAFT: "fork_draft"; readonly DISCARD_DRAFT: "discard_draft"; readonly SEED_MERGE: "seed_merge"; readonly RECORD_SEED_ACK: "record_seed_ack"; readonly GRANT_EXCEPTION: "grant_exception"; readonly REVOKE_EXCEPTION: "revoke_exception"; readonly AMEND_EXCEPTION_WINDOW: "amend_exception_window"; readonly GRANT: "grant"; readonly REVOKE: "revoke"; readonly AMEND_WINDOW: "amend_window"; readonly VALIDATE_RULE: "validate_rule"; readonly PUBLISH_RULE: "publish_rule"; readonly DISCARD_RULE: "discard_rule"; readonly RECORD_DECISION: "record_decision"; readonly GENERATE: "generate"; readonly REMIND: "remind"; readonly ESCALATE_REVIEW: "escalate_review"; readonly COMPLETE: "complete"; readonly REGISTER_PROVIDER: "register_provider"; readonly UPDATE_PROVIDER: "update_provider"; readonly ACTIVATE_PROVIDER: "activate_provider"; readonly DISABLE_PROVIDER: "disable_provider"; readonly DISCARD_PROVIDER: "discard_provider"; readonly PROBE: "probe"; readonly IMPORT_DIRECTORY: "import_directory"; readonly CONFIGURE_SYNC: "configure_sync"; readonly APPLY_IMPORT_CHANGESET: "apply_import_changeset"; readonly DISCARD_IMPORT_CHANGESET: "discard_import_changeset"; readonly RESOLVE_DESIRED: "resolve_desired"; readonly EXECUTE_ITEM: "execute_item"; readonly ACTIVATE_ITEM: "activate_item"; readonly RETRY_ITEM: "retry_item"; readonly RESOLVE_MANUALLY: "resolve_manually"; readonly RELEASE_ITEM: "release_item"; readonly CANCEL_ITEM: "cancel_item"; readonly CLEANUP_PREPARED: "cleanup_prepared"; readonly RESOLVE_BINDING: "resolve_binding"; readonly MARK_DELETED_VERIFIED: "mark_deleted_verified"; readonly ACKNOWLEDGE: "acknowledge"; readonly REMEDIATE: "remediate"; readonly ACCEPT_EXCEPTION: "accept_exception"; readonly REGISTER_INTENDED: "register_intended"; readonly ESCALATE: "escalate"; readonly BUILD_PLAN: "build_plan"; readonly AMEND_PLAN: "amend_plan"; readonly CANCEL_PLAN: "cancel_plan"; readonly COMPLETE_PLAN: "complete_plan"; readonly EDIT_REQUEST_TYPE: "edit_request_type"; readonly VALIDATE_REQUEST_TYPE: "validate_request_type"; readonly SAFE_TEST_REQUEST_TYPE: "safe_test_request_type"; readonly PUBLISH_REQUEST_TYPE: "publish_request_type"; readonly SUPERSEDE_REQUEST_TYPE: "supersede_request_type"; readonly DECOMMISSION_REQUEST_TYPE: "decommission_request_type"; readonly VERIFY_REQUEST_TYPE: "verify_request_type"; readonly FORK_DRAFT_REQUEST_TYPE: "fork_draft_request_type"; readonly MIGRATE_NOT_ENDED_REQUEST_TYPE: "migrate_not_ended_request_type"; readonly RECONCILE_FROM_REPO_REQUEST_TYPE: "reconcile_from_repo_request_type"; readonly PUBLISH_CAPABILITY: "publish_capability"; readonly SUPERSEDE_CAPABILITY: "supersede_capability"; readonly RUNTIME_REQUEST_CREATE: "runtime_request.create"; readonly RUNTIME_REQUEST_INVOKE: "runtime_request.invoke_action"; /** Generated per-flow actions authored in the definition (assignment lane). */ readonly CLAIM: "claim"; readonly DELEGATE: "delegate"; readonly EDIT_POLICY: "edit_policy"; readonly VALIDATE_POLICY: "validate_policy"; readonly PUBLISH_POLICY: "publish_policy"; readonly SUPERSEDE_POLICY: "supersede_policy"; readonly ARCHIVE_POLICY: "archive_policy"; readonly RESTORE_POLICY: "restore_policy"; readonly TOGGLE_POLICY: "toggle_policy"; readonly VERIFY_POLICY: "verify_policy"; readonly FORK_DRAFT_POLICY: "fork_draft_policy"; readonly MIGRATE_NOT_ENDED_POLICY: "migrate_not_ended_policy"; readonly RECONCILE_FROM_REPO_POLICY: "reconcile_from_repo_policy"; readonly TOGGLE_GLUE_RULE: "toggle_glue_rule"; readonly VERIFY_GLUE_RULE: "verify_glue_rule"; readonly EDIT_PROCESS: "edit_process"; readonly VALIDATE_PROCESS: "validate_process"; readonly PUBLISH_PROCESS: "publish_process"; readonly SUPERSEDE_PROCESS: "supersede_process"; readonly DECOMMISSION_PROCESS: "decommission_process"; readonly VERIFY_PROCESS: "verify_process"; readonly FORK_DRAFT_PROCESS: "fork_draft_process"; readonly MIGRATE_NOT_ENDED_PROCESS: "migrate_not_ended_process"; readonly RECONCILE_FROM_REPO_PROCESS: "reconcile_from_repo_process"; readonly REGISTER_PROCESS_REPO: "register_process_repo"; readonly SET_PROCESS_REPO_STATE: "set_process_repo_state"; readonly SYNC_FROM_REPO: "sync_from_repo"; readonly CREATE_PROCESS: "create_process"; readonly START_PROCESS: "start_process"; readonly CANCEL_PROCESS: "cancel_process"; readonly RETRY_PROCESS: "retry_process"; readonly RETRY_SPAWN: "retry_spawn"; }; export type PeopleActionName = (typeof PEOPLE_ACTION_NAME)[keyof typeof PEOPLE_ACTION_NAME]; /** * System-only actions declared via `system_only: true` (engine E11b) — * `POST /content/{uuid}/actions/{name}` from a user returns `403 * system_only_action`; rule/cron lanes bypass by construction. The UI MUST * never offer these to the operator and the portal MUST NOT invoke them. */ export declare const PEOPLE_SYSTEM_ONLY_ACTIONS: ReadonlySet; /** Guards for the type system + the renderer rail filter (`UNKNOWN_ACTIONS` * in `usePeopleStore` mirrors this shape). */ export declare function isSystemOnlyAction(action: string): boolean; /** * Action-by-CT contract — every pack action is bound to ONE content type * (engine dispatcher checks CT membership). Invoking an action on a * uuid of another CT returns a dispatcher error. * * System-only actions are listed alongside their bound CT for completeness; * the UI rail MUST filter them via {@link isSystemOnlyAction}. * * Planned CTs (FEAT-008/010/011/014) are included with empty arrays so the * rail renders an honest "no actions yet" once the CT installs. */ export declare const PEOPLE_ACTION_BY_CT: Record; /** * Default tuning for People pack behavior — kept here (not in the BE) so the * FE doesn't hardcode magic numbers. Each value mirrors `pack/settings/people.yaml`. */ export declare const PEOPLE_DEFAULTS: { readonly RETRY_MAX_ATTEMPTS: 3; readonly RETRY_BACKOFF_BASE_SECONDS: 300; readonly HEALTH_WINDOW_MINUTES: 15; readonly RECONCILE_TIMEOUT_OUTCOME_MINUTES: 60; readonly DEPROVISION_PLAN_VERSION_GUARD: true; readonly CATALOG_PIN_REQUIRED: true; }; //# sourceMappingURL=people.constant.d.ts.map