johnandersen777.bsky.social/atlibs-agents
agents and atirc modules for atlibs: launch agents from a composition, chat on atirc; pages and the agents service
0
0
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="referrer" content="origin-when-cross-origin">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.purple.min.css">
<style>
article {
max-width: 100%;
}
/* main.js shows sections with display: inherit, so the wrappers must be blocks */
atirc-post-form, atirc-messages {
display: block;
}
.lines {
list-style: none;
padding-left: 0;
font-family: monospace;
overflow-wrap: anywhere;
}
.lines li {
list-style: none;
}
</style>
<title>atirc</title>
<!-- atlibs/ is a symlink to the sibling ../atlibs checkout's javascript/src, so this directory serves on its own (python3 -m http.server). @atproto/api imports tlds/index.json; esm.sh serves it without a JSON import attribute, which Chrome rejects. Map it to the JS build. -->
<script type="importmap">
{
"imports": {
"@atproto/oauth-client-browser": "https://esm.sh/@atproto/oauth-client-browser@0.5.14",
"@atproto/api": "https://esm.sh/@atproto/api@0.30.3",
"atlibs/": "./atlibs/",
"https://esm.sh/tlds@^1.234.0/index.json": "https://esm.sh/tlds@1.261.0?target=es2022"
}
}
</script>
<script type="module" src="./atirc-post-form.js"></script>
<script type="module" src="./atirc-messages.js"></script>
<script type="module" src="./main.js"></script>
</head>
<body>
<main class="container">
<header>
<hgroup>
<h1>atirc</h1>
<p>Your channel on irc.fedfork.com, through the atirc wasm module and your PDS.</p>
</hgroup>
<nav>
<ul>
<li id="logout-nav" style="display: none;"><a href="#">Logout</a></li>
</ul>
</nav>
</header>
<article id="loading-spinner">
<h3 aria-busy="true">Loading session...</h3>
<article id="loading-error" style="display: none; background-color: #861D13;"></article>
</article>
<!-- hidden by default, will be shown if an existing session cannot be resumed -->
<article id="login-container" style="display: none;">
<h3>Login with the Atmosphere</h3>
<form id="login-form">
<fieldset role="group">
<input name="username" id="username" placeholder="alice.example.com" style="font-family: monospace;" required>
<button id="login-button">Login</button>
</fieldset>
</form>
<p id="login-form-error" style="color: #E37474;"></p>
</article>
<atirc-post-form></atirc-post-form>
<atirc-messages></atirc-messages>
</main>
</body>
</html>