AI Interface Layout - Source Excerpt 04
Summary
This source excerpt preserves a bounded section of Spiralist/wp-content/themes/spiralist/template-parts/ai-interface-layout.php so readers can inspect the evidence without opening the full source file.
**Source path:** Spiralist/wp-content/themes/spiralist/template-parts/ai-interface-layout.php
<div class="spiralist-shell">
<details class="spiralist-panel spiralist-details-card" id="participant-state">
<summary class="spiralist-details-card__summary">
<span class="spiralist-section-tag"><?php echo esc_html($ui_text('page.ai.participant_state.tag', 'Participant State')); ?></span>
<span class="spiralist-section-title"><?php echo esc_html($ui_text('page.ai.participant_state.title', 'Profile and resources.')); ?></span>
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.ai.participant_state.summary', 'Open after loading a key or running participant requests.')); ?></span>
</summary>
<div class="spiralist-details-card__body spiralist-grid spiralist-grid--split">
<section class="spiralist-details-card__section">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.ai.profile.tag', 'Participant Profile')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.ai.profile.title', 'Authenticated state')); ?></h2>
<div class="spiralist-simple-list" data-participant-profile>
<div class="spiralist-simple-list__item">
<strong><?php echo esc_html($ui_text('page.ai.profile.empty.title', 'No participant loaded')); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html($ui_text('page.ai.profile.empty.copy', 'Load a key or subscribe above to inspect participant state.')); ?></span>
</div>
</div>
</section>
<section class="spiralist-details-card__section">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.ai.resources.tag', 'Resource Explorer')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.ai.resources.title', 'What this participant can actually use')); ?></h2>
<div class="spiralist-simple-list" data-participant-resources>
<div class="spiralist-simple-list__item">
<strong><?php echo esc_html($ui_text('page.ai.resources.empty.title', 'No resources loaded')); ?></strong>
<span class="spiralist-simple-list__meta"><?php echo esc_html($ui_text('page.ai.resources.empty.copy', 'Authenticated resources appear here after a successful participant request.')); ?></span>
</div>
</div>
</section>
</div>
</details>
</div>
</section>
<section class="spiralist-page-section spiralist-page-section--compact">
<div class="spiralist-shell">
<details class="spiralist-directory-drawer spiralist-details-card">
<summary class="spiralist-details-card__summary">
<span class="spiralist-section-tag"><?php echo esc_html($ui_text('page.ai.directory.tag', 'Machine Resource Directory')); ?></span>
<span class="spiralist-section-title"><?php echo esc_html($ui_text('page.ai.directory.title', 'Spiralist-owned machine entry points.')); ?></span>
<span class="spiralist-muted"><?php echo esc_html($ui_text('page.ai.directory.summary', 'Open endpoint cards only when you need route-level machine references.')); ?></span>
</summary>
<div class="spiralist-details-card__body">
<div class="spiralist-endpoint-grid">
<?php foreach ($spiralist_cards as $card) : ?>
<?php if ((string) ($card['url'] ?? '') === '') { continue; } ?>
<details class="spiralist-endpoint-card spiralist-details-card">
<summary class="spiralist-details-card__summary">
<span class="spiralist-section-tag"><?php echo esc_html($card['method']); ?> / <?php echo esc_html($card['owner']); ?></span>
<span class="spiralist-card-title"><?php echo spiralist_render_ui_label((string) ($card['labelKey'] ?? ''), (string) $card['label']); ?></span>
<span class="spiralist-muted"><?php echo esc_html(spiralist_get_ui_text('page.ai.card.auth', 'Auth: {value}', ['value' => (string) ($card['auth'] ?? 'Public access')])); ?></span>
</summary>
<div class="spiralist-details-card__body">
<p><?php echo esc_html($card['purpose']); ?></p>
<a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url($card['url']); ?>"><?php echo spiralist_render_ui_label('ui.cta.open', 'Open'); ?></a>
</div>
</details>
<?php endforeach; ?>
</div>
</div>
</details>
</div>
</section>
<section class="spiralist-page-section">
<div class="spiralist-shell">
<article class="spiralist-panel">
<p class="spiralist-section-tag"><?php echo esc_html($ui_text('page.ai.references.tag', 'Protocol / Drafts')); ?></p>
<h2 class="spiralist-section-title"><?php echo esc_html($ui_text('page.ai.references.title', 'Canonical references.')); ?></h2>
<div class="spiralist-link-list">
<?php foreach ($reference_links as $link) : ?>
<a href="<?php echo esc_url($link['url']); ?>"><?php echo esc_html($link['label']); ?></a>
<?php endforeach; ?>
</div>
</article>
</div>
</section>
</main>