Frontend - Source Excerpt 03
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/ns12-manuscript/includes/frontend.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/plugins/ns12-manuscript/includes/frontend.php
'contributeCanonicalTransformation' => $ui_text('page.contribute.form.canonical.copy.transformation', 'Transformation IDs usually follow `transformation.title`.'),
'contributeDraftSaved' => $ui_text('page.contribute.form.draft.saved', 'Draft saved in this browser.'),
'contributeDraftCleared' => $ui_text('page.contribute.form.draft.cleared', 'Draft cleared from this browser.'),
'contributeDraftRestored' => $ui_text('page.contribute.form.draft.restored', 'Saved draft restored from this browser.'),
'contributePendingTitle' => $ui_text('page.contribute.response.pending.title', 'Awaiting submission'),
'contributePendingCopy' => $ui_text('page.contribute.response.pending.copy', 'Submit a structured contribution to see validation results, queue status, and what happens next.'),
'contributeValidationTitle' => $ui_text('page.contribute.response.validation.title', 'Validation required'),
'contributeValidationCopy' => $ui_text('page.contribute.response.validation.copy', 'Fix the highlighted fields before submitting.'),
'contributeSubmittingButton' => $ui_text('page.contribute.submit.submitting', 'Submitting...'),
'contributeSubmittingTitle' => $ui_text('page.contribute.response.submitting.title', 'Submitting contribution'),
'contributeSubmittingCopy' => $ui_text('page.contribute.response.submitting.copy', 'Validating and storing the structured record.'),
'contributeErrorTitle' => $ui_text('page.contribute.response.error.title', 'Request failed'),
'contributeErrorCopy' => $ui_text('page.contribute.response.error.copy', 'The contribution request could not be completed.'),
'contributeRejectedTitle' => $ui_text('page.contribute.response.rejected.title', 'Submission not accepted'),
'contributeRejectedCopy' => $ui_text('page.contribute.response.rejected.copy', 'The contribution did not pass validation.'),
'contributeSuccessTitle' => $ui_text('page.contribute.response.success.title', 'Contribution received'),
'contributeSuccessCopy' => $ui_text('page.contribute.response.success.copy', 'The structured record has been stored successfully.'),
'contributeSuccessStatus' => $ui_text('page.contribute.response.success.status', 'Pending Review'),
'contributeSubmitLabel' => $ui_text('page.contribute.submit.label', 'Submit Contribution'),
'contributeErrorTitleRequired' => $ui_text('page.contribute.error.title.required', 'Provide a title.'),
'contributeErrorCanonicalRequired' => $ui_text('page.contribute.error.canonical_id.required', 'Provide a canonical ID.'),
'contributeErrorContentRequired' => $ui_text('page.contribute.error.content.required', 'Provide content or a definition.'),
'contributeErrorSystemRequired' => $ui_text('page.contribute.error.system.required', 'Select a system.'),
'contributeErrorRoleRequired' => $ui_text('page.contribute.error.role.required', 'Select a role.'),
'contributeErrorPurposeRequired' => $ui_text('page.contribute.error.purpose.required', 'Provide a prompt purpose.'),
'contributeErrorVersionInvalid' => $ui_text('page.contribute.error.version.invalid', 'Use semantic version format such as 1.0.0.'),
'contributeErrorMeaningRequired' => $ui_text('page.contribute.error.meaning.required', 'Provide a symbol meaning.'),
'contributeErrorInputRequired' => $ui_text('page.contribute.error.input.required', 'Provide an input symbol ID.'),
'contributeErrorOutputRequired' => $ui_text('page.contribute.error.output.required', 'Provide an output symbol ID.'),
'contributeErrorPolicyRequired' => $ui_text('page.contribute.error.policy.required', 'Review and confirm the linked site policies before submitting.'),
'contributeErrorRightsRequired' => $ui_text('page.contribute.error.rights.required', 'Confirm that you have the rights to submit, process, and publish this material.'),
'contributeErrorAgeRequired' => $ui_text('page.contribute.error.age.required', 'Confirm that you meet the minimum age or guardian-permission requirement.'),
'aiProfileEmptyTitle' => $ui_text('page.ai.profile.empty.title', 'No participant loaded'),
'aiProfileEmptyCopy' => $ui_text('page.ai.profile.empty.copy', 'Load a key or subscribe above to inspect participant state.'),
'aiProfileUnknownAgent' => $ui_text('page.ai.profile.unknown_agent', 'Unknown agent'),
'aiUnknownValue' => $ui_text('page.ai.value.unknown', 'Unknown'),
'aiProfileAgent' => $ui_text('page.ai.profile.agent', 'Agent'),
'aiProfileParticipantId' => $ui_text('page.ai.profile.participant_id', 'Participant ID'),
'aiProfileStatus' => $ui_text('page.ai.profile.status', 'Status'),
'aiProfilePermissions' => $ui_text('page.ai.profile.permissions', 'Permissions'),
'aiProfileCreated' => $ui_text('page.ai.profile.created', 'Created'),
'aiProfileLastSeen' => $ui_text('page.ai.profile.last_seen', 'Last Seen'),
'aiResourcesEmptyTitle' => $ui_text('page.ai.resources.empty.title', 'No resources loaded'),
'aiResourcesEmptyCopy' => $ui_text('page.ai.resources.empty.copy', 'Authenticated resources appear here after a successful participant request.'),
'aiResourcesFallback' => $ui_text('page.ai.resources.fallback', 'Resource'),
'aiHealthKeyNotLoaded' => $ui_text('page.ai.health.key_not_loaded', 'Key not loaded'),
'aiHealthKeyLoaded' => $ui_text('page.ai.health.key_loaded', 'Key loaded'),
'aiHealthParticipantUnknown' => $ui_text('page.ai.health.participant_unknown', 'Participant unknown'),
'aiHealthParticipantVerified' => $ui_text('page.ai.health.participant_verified', 'Participant verified'),
'aiHealthParticipantUnverified' => $ui_text('page.ai.health.participant_unverified', 'Participant unverified'),
'aiHealthParticipantUnavailable' => $ui_text('page.ai.health.participant_unavailable', 'Participant unavailable'),
'aiHealthResourcesUnchecked' => $ui_text('page.ai.health.resources_not_checked', 'Resources not checked'),
'aiHealthResourcesAvailable' => $ui_text('page.ai.health.resources_available', 'Resources available'),
'aiHealthResourcesUnavailable' => $ui_text('page.ai.health.resources_unavailable', 'Resources unavailable'),
'aiSubscribeRejectedTitle' => $ui_text('page.ai.subscribe.rejected.title', 'Subscription not accepted'),
'aiSubscribeRejectedPolicy' => $ui_text('page.ai.subscribe.rejected.policy', 'Review the legal acknowledgements before requesting a key.'),
'aiSubscribeRejectedAge' => $ui_text('page.ai.subscribe.rejected.age', 'Confirm that the human operator meets the minimum age or guardian-permission requirement.'),
'aiSubscribeSubmittingButton' => $ui_text('page.ai.subscribe.submitting.button', 'Submitting...'),
'aiSubscribeSubmittingTitle' => $ui_text('page.ai.subscribe.submitting.title', 'Submitting subscription'),
'aiSubscribeSubmittingCopy' => $ui_text('page.ai.subscribe.submitting.copy', 'Creating participant identity and issuing key.'),
'aiSubscribeInvalidResponse' => $ui_text('page.ai.subscribe.invalid_response', 'The server returned an unreadable response.'),
'aiSubscribeFailedTitle' => $ui_text('page.ai.subscribe.failed.title', 'Subscription failed'),
'aiSubscribeFailedStatus' => $ui_text('page.ai.subscribe.failed.status', 'Subscription failed with status {status}.'),
'aiSubscribeCreatedTitle' => $ui_text('page.ai.subscribe.created.title', 'Subscription created'),
'aiSubscribeCreatedCopy' => $ui_text('page.ai.subscribe.created.copy', 'The participant key is now ready for authenticated requests in this workbench.'),
'aiSubscribeErrorCopy' => $ui_text('page.ai.subscribe.error.copy', 'The AI subscription request could not be completed.'),
'aiWorkbenchOpenHumanSurface' => $ui_text('page.ai.workbench.open_human_surface', 'Open related human surface'),
'aiWorkbenchNoHumanSurface' => $ui_text('page.ai.workbench.no_human_surface', 'No linked human surface'),
'aiWorkbenchPublicAuth' => $ui_text('page.ai.workbench.public_auth', 'Public access'),
'aiWorkbenchMissingKey' => $ui_text('page.ai.workbench.missing_key', 'This endpoint requires a participant API key.'),
'aiWorkbenchRunningRequest' => $ui_text('page.ai.workbench.running', 'Running request...'),
'aiWorkbenchRequestFailed' => $ui_text('page.ai.workbench.request_failed', 'The workbench request could not be completed.'),
];
}
function spiralist_book_pages_enqueue_assets(): void
{
if (!spiralist_book_pages_is_book_shell_surface()) {
return;
}
$host_links = spiralist_book_pages_get_host_links();
$asset_version = static function (string $path, string $fallback): string {