@profullstack/agenticjobs 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -1
- package/dist/cli/args.js +31 -3
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/index.js +396 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/jobfile.js +38 -2
- package/dist/cli/jobfile.js.map +1 -1
- package/dist/client/client.d.ts +149 -0
- package/dist/client/client.js +79 -12
- package/dist/client/client.js.map +1 -1
- package/dist/client/fanout.js +7 -1
- package/dist/client/fanout.js.map +1 -1
- package/dist/config.d.ts +35 -1
- package/dist/config.js +33 -1
- package/dist/config.js.map +1 -1
- package/dist/core/candidates.js +33 -6
- package/dist/core/candidates.js.map +1 -1
- package/dist/core/capacity-alert.d.ts +84 -0
- package/dist/core/capacity-alert.js +144 -0
- package/dist/core/capacity-alert.js.map +1 -0
- package/dist/core/capacity.d.ts +96 -0
- package/dist/core/capacity.js +174 -0
- package/dist/core/capacity.js.map +1 -0
- package/dist/core/coinpay.d.ts +143 -0
- package/dist/core/coinpay.js +417 -0
- package/dist/core/coinpay.js.map +1 -0
- package/dist/core/import-job.js +18 -7
- package/dist/core/import-job.js.map +1 -1
- package/dist/core/import.js +18 -15
- package/dist/core/import.js.map +1 -1
- package/dist/core/inbox.d.ts +155 -0
- package/dist/core/inbox.js +353 -0
- package/dist/core/inbox.js.map +1 -0
- package/dist/core/invoices.d.ts +111 -0
- package/dist/core/invoices.js +292 -0
- package/dist/core/invoices.js.map +1 -0
- package/dist/core/jobs.js +12 -2
- package/dist/core/jobs.js.map +1 -1
- package/dist/core/mail.d.ts +16 -0
- package/dist/core/mail.js +22 -0
- package/dist/core/mail.js.map +1 -1
- package/dist/core/orgs.d.ts +39 -0
- package/dist/core/orgs.js +69 -0
- package/dist/core/orgs.js.map +1 -1
- package/dist/directory/federate.js +2 -4
- package/dist/directory/federate.js.map +1 -1
- package/dist/directory/fetch.d.ts +1 -1
- package/dist/markup/markdown.js +4 -1
- package/dist/markup/markdown.js.map +1 -1
- package/dist/markup/resume.js +66 -1
- package/dist/markup/resume.js.map +1 -1
- package/dist/mcp/server.js +5 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stdio.js +3 -2
- package/dist/mcp/stdio.js.map +1 -1
- package/dist/mcp/tools.js +151 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/schema/jsonld.js +1 -8
- package/dist/schema/jsonld.js.map +1 -1
- package/dist/schema/salary.d.ts +5 -0
- package/dist/schema/salary.js +15 -0
- package/dist/schema/salary.js.map +1 -0
- package/dist/schema/text.js +7 -3
- package/dist/schema/text.js.map +1 -1
- package/dist/server/app.d.ts +4 -3
- package/dist/server/app.js +7 -4
- package/dist/server/app.js.map +1 -1
- package/dist/server/deps.d.ts +5 -0
- package/dist/server/middleware.js +9 -1
- package/dist/server/middleware.js.map +1 -1
- package/dist/server/routes/api.js +347 -1
- package/dist/server/routes/api.js.map +1 -1
- package/dist/server/routes/discovery.js +75 -0
- package/dist/server/routes/discovery.js.map +1 -1
- package/dist/server/routes/inbox.d.ts +9 -0
- package/dist/server/routes/inbox.js +223 -0
- package/dist/server/routes/inbox.js.map +1 -0
- package/dist/server/routes/openapi.js +141 -1
- package/dist/server/routes/openapi.js.map +1 -1
- package/dist/server/routes/pages.d.ts +22 -0
- package/dist/server/routes/pages.js +91 -7
- package/dist/server/routes/pages.js.map +1 -1
- package/dist/views/candidates.d.ts +8 -0
- package/dist/views/candidates.js +2 -1
- package/dist/views/candidates.js.map +1 -1
- package/dist/views/docs.js +48 -4
- package/dist/views/docs.js.map +1 -1
- package/dist/views/inbox.d.ts +90 -0
- package/dist/views/inbox.js +73 -0
- package/dist/views/inbox.js.map +1 -0
- package/dist/views/jobs.d.ts +9 -0
- package/dist/views/jobs.js +3 -2
- package/dist/views/jobs.js.map +1 -1
- package/dist/views/layout.d.ts +2 -0
- package/dist/views/layout.js +2 -2
- package/dist/views/layout.js.map +1 -1
- package/dist/views/me.d.ts +3 -3
- package/dist/views/me.js +2 -2
- package/dist/views/me.js.map +1 -1
- package/dist/views/updates.d.ts +13 -0
- package/dist/views/updates.js +2 -1
- package/dist/views/updates.js.map +1 -1
- package/docs/openjob.md +5 -0
- package/docs/openresume.md +36 -0
- package/migrations/0014_inbox_and_billing.sql +138 -0
- package/package.json +15 -17
- package/web/public/app.css +146 -3
- package/web/public/sw.js +1 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The inbox: private conversations, and the invoices that travel in them.
|
|
3
|
+
*
|
|
4
|
+
* Plain on purpose, like updates. No read receipts, no typing indicator, no
|
|
5
|
+
* reactions: the thing this has to be is the place an invoice goes instead of
|
|
6
|
+
* a public comment box, and everything else is a place for noise to grow.
|
|
7
|
+
*/
|
|
8
|
+
import type { FC } from 'hono/jsx';
|
|
9
|
+
import type { Organisation } from '../schema/index.ts';
|
|
10
|
+
import type { Party, Thread, ThreadSummary } from '../core/inbox.ts';
|
|
11
|
+
import type { Invoice } from '../core/invoices.ts';
|
|
12
|
+
import type { Account } from '../core/coinpay.ts';
|
|
13
|
+
/**
|
|
14
|
+
* The button on a candidate's or an employer's page.
|
|
15
|
+
*
|
|
16
|
+
* It goes to a compose page rather than opening a box inline, because the
|
|
17
|
+
* compose page is where "as which employer" and "about which job" are asked,
|
|
18
|
+
* and because a stranger's page should not carry a form that posts to you.
|
|
19
|
+
*/
|
|
20
|
+
export declare const MessageButton: FC<{
|
|
21
|
+
to: {
|
|
22
|
+
candidate: string;
|
|
23
|
+
} | {
|
|
24
|
+
employer: string;
|
|
25
|
+
};
|
|
26
|
+
job?: string;
|
|
27
|
+
signedIn: boolean;
|
|
28
|
+
next: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare const InboxPage: FC<{
|
|
31
|
+
threads: ThreadSummary[];
|
|
32
|
+
}>;
|
|
33
|
+
export declare const NewThreadPage: FC<{
|
|
34
|
+
to: Party;
|
|
35
|
+
job: {
|
|
36
|
+
slug: string;
|
|
37
|
+
title: string;
|
|
38
|
+
} | null;
|
|
39
|
+
/** Employers the writer belongs to, offered as "write as". */
|
|
40
|
+
asOrgs: Organisation[];
|
|
41
|
+
values?: Record<string, string>;
|
|
42
|
+
error?: string;
|
|
43
|
+
/** The hidden fields that say who this is to. */
|
|
44
|
+
target: {
|
|
45
|
+
candidate?: string;
|
|
46
|
+
employer?: string;
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* An invoice, inside the conversation it belongs to.
|
|
51
|
+
*
|
|
52
|
+
* The payee sees what they asked for and a way to take it back. Everybody else
|
|
53
|
+
* sees Pay. Paid is paid for both, with the transaction hash, which is the
|
|
54
|
+
* receipt.
|
|
55
|
+
*/
|
|
56
|
+
export declare const InvoiceCard: FC<{
|
|
57
|
+
invoice: Invoice;
|
|
58
|
+
threadId: string;
|
|
59
|
+
viewerId: string;
|
|
60
|
+
}>;
|
|
61
|
+
export interface BillingState {
|
|
62
|
+
/** False when the board has no CoinPay configured: no invoice form at all. */
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
/** The viewer's connection, if any. */
|
|
65
|
+
account: Account | null;
|
|
66
|
+
}
|
|
67
|
+
export declare const ThreadPage: FC<{
|
|
68
|
+
thread: Thread;
|
|
69
|
+
invoices: Invoice[];
|
|
70
|
+
viewerId: string;
|
|
71
|
+
billing: BillingState;
|
|
72
|
+
error?: string;
|
|
73
|
+
values?: Record<string, string>;
|
|
74
|
+
}>;
|
|
75
|
+
/**
|
|
76
|
+
* Billing, on the You page.
|
|
77
|
+
*
|
|
78
|
+
* Connection state and wallets, and every invoice the person sent or can pay.
|
|
79
|
+
* The state is computed from the token's scope, not from the row existing: a
|
|
80
|
+
* connection that cannot read a wallet says so here rather than showing a
|
|
81
|
+
* green badge beside an invoice form that fails.
|
|
82
|
+
*/
|
|
83
|
+
export declare const BillingCard: FC<{
|
|
84
|
+
enabled: boolean;
|
|
85
|
+
account: Account | null;
|
|
86
|
+
invoices: Invoice[];
|
|
87
|
+
viewerId: string;
|
|
88
|
+
coinpayUrl: string | null;
|
|
89
|
+
notice?: string;
|
|
90
|
+
}>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "hono/jsx/jsx-runtime";
|
|
2
|
+
import { ago } from "../schema/text.js";
|
|
3
|
+
import { Alert, Badge, Card, Empty, Field } from "./layout.js";
|
|
4
|
+
function partyHref(party) {
|
|
5
|
+
if (party.slug === null)
|
|
6
|
+
return null;
|
|
7
|
+
return party.kind === 'employer' ? `/employers/${party.slug}` : `/candidates/${party.slug}`;
|
|
8
|
+
}
|
|
9
|
+
const PartyName = ({ party }) => {
|
|
10
|
+
const href = partyHref(party);
|
|
11
|
+
return href === null ? (_jsx("strong", { children: party.name })) : (_jsx("a", { href: href, children: _jsx("strong", { children: party.name }) }));
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The button on a candidate's or an employer's page.
|
|
15
|
+
*
|
|
16
|
+
* It goes to a compose page rather than opening a box inline, because the
|
|
17
|
+
* compose page is where "as which employer" and "about which job" are asked,
|
|
18
|
+
* and because a stranger's page should not carry a form that posts to you.
|
|
19
|
+
*/
|
|
20
|
+
export const MessageButton = ({ to, job, signedIn, next }) => {
|
|
21
|
+
const params = new URLSearchParams();
|
|
22
|
+
if ('candidate' in to)
|
|
23
|
+
params.set('candidate', to.candidate);
|
|
24
|
+
else
|
|
25
|
+
params.set('employer', to.employer);
|
|
26
|
+
if (job !== undefined)
|
|
27
|
+
params.set('job', job);
|
|
28
|
+
const href = `/inbox/new?${params.toString()}`;
|
|
29
|
+
return (_jsx("a", { class: "btn btn-secondary btn-sm", href: signedIn ? href : `/login?next=${encodeURIComponent(next)}`, children: "Message" }));
|
|
30
|
+
};
|
|
31
|
+
export const InboxPage = ({ threads }) => (_jsxs("div", { class: "stack", children: [_jsxs("div", { children: [_jsx("h1", { children: "Inbox" }), _jsx("p", { class: "lede", children: "Conversations with the people on this board. Private to the people in them, and the place an invoice goes." })] }), threads.length === 0 ? (_jsxs(Empty, { children: [_jsx("p", { children: "Nothing yet." }), _jsx("p", { class: "small muted", children: "Write to a candidate from their page, or to an employer from theirs. Every conversation started with you lands here." })] })) : (_jsx("ul", { class: "thread-list", children: threads.map((thread) => (_jsx("li", { children: _jsxs("a", { class: "card card-link thread", href: `/inbox/${thread.id}`, children: [_jsxs("div", { class: "spread", children: [_jsxs("span", { class: "thread-with", children: [_jsx("strong", { children: thread.with.name }), thread.with.kind === 'employer' && _jsx("span", { class: "small muted", children: " employer" })] }), _jsx("span", { class: "small muted", children: ago(thread.lastMessageAt) })] }), _jsxs("p", { class: "thread-subject", children: [thread.subject, thread.unread > 0 && (_jsxs(_Fragment, { children: [' ', _jsxs(Badge, { variant: "primary", children: [thread.unread, " new"] })] }))] }), _jsx("p", { class: "small muted thread-preview", children: thread.preview }), thread.job !== null && _jsxs("p", { class: "small muted", children: ["About: ", thread.job.title] })] }) }))) }))] }));
|
|
32
|
+
export const NewThreadPage = ({ to, job, asOrgs, values = {}, error, target }) => (_jsxs("div", { class: "stack", style: "max-width:44rem", children: [_jsxs("div", { children: [_jsxs("h1", { children: ["Message ", _jsx(PartyName, { party: to })] }), job !== null && (_jsxs("p", { class: "lede", children: ["About ", _jsx("a", { href: `/jobs/${job.slug}`, children: job.title }), "."] }))] }), error !== undefined && _jsx(Alert, { variant: "error", children: error }), _jsx(Card, { children: _jsxs("form", { method: "post", action: "/inbox/new", class: "stack-sm", children: [target.candidate !== undefined && (_jsx("input", { type: "hidden", name: "candidate", value: target.candidate })), target.employer !== undefined && (_jsx("input", { type: "hidden", name: "employer", value: target.employer })), job !== null && _jsx("input", { type: "hidden", name: "job", value: job.slug }), asOrgs.length > 0 && to.kind === 'candidate' && (_jsx(Field, { label: "Write as", name: "as", hint: "As yourself, or as an employer you belong to. Their other members see the conversation too.", children: _jsxs("select", { id: "as", name: "as", class: "select", children: [_jsx("option", { value: "", children: "Yourself" }), asOrgs.map((org) => (_jsx("option", { value: org.slug, selected: values['as'] === org.slug, children: org.name })))] }) })), _jsx(Field, { label: "Subject", name: "subject", hint: "One line. Optional; the first words of the message stand in.", children: _jsx("input", { id: "subject", name: "subject", class: "input", maxlength: 140, value: values['subject'] ?? '' }) }), _jsx(Field, { label: "Message", name: "body", children: _jsx("textarea", { id: "body", name: "body", class: "textarea", rows: 8, maxlength: 4000, required: true, children: values['body'] ?? '' }) }), _jsxs("div", { class: "row", children: [_jsx("button", { class: "btn", type: "submit", children: "Send" }), _jsx("span", { class: "small muted", children: "They are emailed that there is a message, not the message." })] })] }) })] }));
|
|
33
|
+
const StatusBadge = ({ status }) => {
|
|
34
|
+
if (status === 'paid')
|
|
35
|
+
return _jsx(Badge, { variant: "welcome", children: "Paid" });
|
|
36
|
+
if (status === 'cancelled')
|
|
37
|
+
return _jsx(Badge, { variant: "outline", children: "Cancelled" });
|
|
38
|
+
return _jsx(Badge, { variant: "primary", children: "Awaiting payment" });
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* An invoice, inside the conversation it belongs to.
|
|
42
|
+
*
|
|
43
|
+
* The payee sees what they asked for and a way to take it back. Everybody else
|
|
44
|
+
* sees Pay. Paid is paid for both, with the transaction hash, which is the
|
|
45
|
+
* receipt.
|
|
46
|
+
*/
|
|
47
|
+
export const InvoiceCard = ({ invoice, threadId, viewerId, }) => {
|
|
48
|
+
const payee = invoice.payee.id === viewerId;
|
|
49
|
+
const base = `/inbox/${threadId}/invoices/${invoice.id}`;
|
|
50
|
+
return (_jsxs("div", { class: "invoice", children: [_jsxs("div", { class: "spread", children: [_jsxs("span", { class: "invoice-amount", children: ["$", invoice.amountUsd, " ", _jsxs("span", { class: "small muted", children: ["in ", invoice.currency] })] }), _jsx(StatusBadge, { status: invoice.status })] }), invoice.description !== '' && _jsx("p", { class: "invoice-description", children: invoice.description }), _jsxs("p", { class: "small muted", children: ["From ", invoice.payee.name, ", ", ago(invoice.createdAt), ". Settles to", ' ', _jsx("code", { class: "mono", children: invoice.walletAddress }), "."] }), invoice.status === 'paid' && (_jsxs("p", { class: "small", children: ["Paid ", invoice.paidAt === null ? '' : ago(invoice.paidAt), invoice.txHash !== null && (_jsxs(_Fragment, { children: [' ', "\u00B7 tx ", _jsx("code", { class: "mono", children: invoice.txHash })] }))] })), invoice.status === 'sent' && !payee && (_jsxs("form", { method: "post", action: `${base}/pay`, class: "row", children: [_jsx("button", { class: "btn btn-sm", type: "submit", children: "Pay on CoinPay" }), _jsx("span", { class: "small muted", children: invoice.payment !== null && invoice.payment.amountCrypto !== null
|
|
51
|
+
? `Quoted ${invoice.payment.amountCrypto} ${invoice.currency}. A quote lasts a few minutes; a fresh one is made if it lapsed.`
|
|
52
|
+
: 'You get a quote in the coin the payee asked for and pay it from any wallet.' })] })), invoice.status === 'sent' && payee && (_jsxs("form", { method: "post", action: `${base}/cancel`, class: "row", children: [_jsx("button", { class: "btn btn-secondary btn-sm", type: "submit", children: "Cancel invoice" }), _jsx("span", { class: "small muted", children: "Nothing has been paid. A changed invoice is a new one." })] }))] }));
|
|
53
|
+
};
|
|
54
|
+
const MessageItem = ({ message, invoice, threadId, viewerId }) => (_jsxs("li", { class: message.mine ? 'message mine' : 'message', id: message.id, children: [_jsxs("p", { class: "message-meta small muted", children: [_jsx("strong", { children: message.mine ? 'You' : message.sender.name }), !message.mine && message.sender.party?.kind === 'employer' && (_jsxs(_Fragment, { children: [" at ", message.sender.party.name] })), ' ', "\u00B7 ", ago(message.createdAt)] }), message.kind === 'invoice' && invoice !== undefined ? (_jsx(InvoiceCard, { invoice: invoice, threadId: threadId, viewerId: viewerId })) : (
|
|
55
|
+
// Text, rendered as text. Nothing anybody typed becomes markup.
|
|
56
|
+
_jsx("p", { class: "message-body", children: message.body }))] }));
|
|
57
|
+
export const ThreadPage = ({ thread, invoices, viewerId, billing, error, values = {} }) => {
|
|
58
|
+
const byId = new Map(invoices.map((invoice) => [invoice.id, invoice]));
|
|
59
|
+
const wallets = billing.account?.usable === true ? billing.account.wallets : [];
|
|
60
|
+
return (_jsxs("div", { class: "stack", style: "max-width:48rem", children: [_jsxs("div", { class: "stack-sm", children: [_jsx("p", { class: "small", children: _jsx("a", { href: "/inbox", children: "\u2190 Inbox" }) }), _jsx("h1", { style: "margin-bottom:0", children: thread.subject }), _jsxs("p", { class: "lede", children: ["With ", _jsx(PartyName, { party: thread.with }), thread.job !== null && (_jsxs(_Fragment, { children: [", about ", _jsx("a", { href: `/jobs/${thread.job.slug}`, children: thread.job.title })] })), "."] })] }), _jsx("ul", { class: "message-list", children: thread.messages.map((message) => (_jsx(MessageItem, { message: message, invoice: message.invoiceId === null ? undefined : byId.get(message.invoiceId), threadId: thread.id, viewerId: viewerId }))) }), error !== undefined && _jsx(Alert, { variant: "error", children: error }), _jsx(Card, { children: _jsxs("form", { method: "post", action: `/inbox/${thread.id}`, class: "stack-sm", children: [_jsx(Field, { label: "Reply", name: "body", children: _jsx("textarea", { id: "body", name: "body", class: "textarea", rows: 4, maxlength: 4000, required: true, children: values['body'] ?? '' }) }), _jsx("div", { class: "row", children: _jsx("button", { class: "btn", type: "submit", children: "Send" }) })] }) }), billing.enabled && (_jsxs("details", { class: "card invoice-form", children: [_jsx("summary", { class: "card-title", children: "Send an invoice" }), billing.account === null ? (_jsxs("p", { class: "small muted", style: "margin-top:.6rem", children: [_jsx("a", { href: `/me/coinpay/connect?next=${encodeURIComponent(`/inbox/${thread.id}`)}`, children: "Connect your CoinPay account" }), ' ', "first, so there is a wallet for the payment to settle to. It is paid to you directly; this board never holds it."] })) : !billing.account.usable ? (_jsxs("p", { class: "small muted", style: "margin-top:.6rem", children: ["Your CoinPay connection has lapsed.", ' ', _jsx("a", { href: `/me/coinpay/connect?next=${encodeURIComponent(`/inbox/${thread.id}`)}`, children: "Reconnect it" }), ' ', "to send an invoice."] })) : wallets.length === 0 ? (_jsxs("p", { class: "small muted", style: "margin-top:.6rem", children: ["Your CoinPay account has no wallet yet. Add one on CoinPay, then", ' ', _jsx("a", { href: "/me#billing", children: "refresh the connection" }), "."] })) : (_jsxs("form", { method: "post", action: `/inbox/${thread.id}/invoices`, class: "stack-sm", style: "margin-top:.6rem", children: [_jsxs("div", { class: "grid-2 reverse", style: "gap:.75rem", children: [_jsx(Field, { label: "Amount, USD", name: "amount", children: _jsx("input", { id: "amount", name: "amount", class: "input", inputmode: "decimal", placeholder: "1200.00", required: true, value: values['amount'] ?? '' }) }), _jsx(Field, { label: "Paid in", name: "currency", hint: "One of the wallets on your CoinPay account.", children: _jsx("select", { id: "currency", name: "currency", class: "select", children: wallets.map((wallet) => (_jsxs("option", { value: wallet.chain, selected: values['currency'] === wallet.chain, children: [wallet.chain, wallet.label === null ? '' : ` - ${wallet.label}`] }))) }) })] }), _jsx(Field, { label: "For", name: "description", hint: "What this is for. It is the message the other side reads.", children: _jsx("textarea", { id: "description", name: "description", class: "textarea", rows: 3, maxlength: 1000, children: values['description'] ?? '' }) }), _jsxs("div", { class: "row", children: [_jsx("button", { class: "btn", type: "submit", children: "Send invoice" }), _jsx("span", { class: "small muted", children: "They pay on CoinPay, to your wallet, in the coin you chose." })] })] }))] }))] }));
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Billing, on the You page.
|
|
64
|
+
*
|
|
65
|
+
* Connection state and wallets, and every invoice the person sent or can pay.
|
|
66
|
+
* The state is computed from the token's scope, not from the row existing: a
|
|
67
|
+
* connection that cannot read a wallet says so here rather than showing a
|
|
68
|
+
* green badge beside an invoice form that fails.
|
|
69
|
+
*/
|
|
70
|
+
export const BillingCard = ({ enabled, account, invoices, viewerId, coinpayUrl, notice }) => (_jsxs("section", { class: "stack", id: "billing", children: [_jsxs("div", { class: "spread", children: [_jsx("h2", { children: "Billing" }), enabled && account === null && (_jsx("a", { class: "btn btn-sm", href: "/me/coinpay/connect", children: "Connect CoinPay" }))] }), notice !== undefined && _jsx(Alert, { variant: "info", children: notice }), !enabled ? (_jsx("p", { class: "small muted", children: "This board has no payment rail configured, so invoices are off. An operator turns them on with a CoinPay business and OAuth client; see the README." })) : account === null ? (_jsx("p", { class: "small muted", children: "Connect a CoinPay account to send invoices from the inbox. Payments settle to your own wallet; this board never holds them." })) : (_jsxs(Card, { children: [_jsxs("div", { class: "spread", children: [_jsxs("div", { children: [_jsxs("h3", { class: "card-title", children: ["CoinPay", ' ', account.usable ? (_jsx(Badge, { variant: "welcome", children: "Connected" })) : (_jsx(Badge, { variant: "human", children: "Reconnect required" }))] }), _jsxs("p", { class: "small muted", children: [account.email ?? account.name ?? account.sub, ", since ", ago(account.connectedAt), ".", !account.usable && ' The connection cannot read your wallets any more.'] })] }), _jsxs("div", { class: "row", style: "gap:.4rem;flex-wrap:wrap", children: [account.usable ? (_jsx("form", { method: "post", action: "/me/coinpay/refresh", children: _jsx("button", { class: "btn btn-secondary btn-sm", type: "submit", children: "Refresh wallets" }) })) : (_jsx("a", { class: "btn btn-sm", href: "/me/coinpay/connect", children: "Reconnect" })), _jsx("form", { method: "post", action: "/me/coinpay/disconnect", children: _jsx("button", { class: "btn btn-secondary btn-sm", type: "submit", children: "Disconnect" }) })] })] }), account.usable && (_jsx("div", { style: "margin-top:.75rem", children: account.wallets.length === 0 ? (_jsxs("p", { class: "small muted", children: ["No wallets on the account yet.", ' ', coinpayUrl !== null && (_jsx("a", { href: `${coinpayUrl}/dashboard`, rel: "noopener", children: "Add one on CoinPay" })), ", then refresh."] })) : (_jsx("ul", { class: "stack-sm wallet-list", style: "list-style:none;margin:0;padding:0", children: account.wallets.map((wallet) => (_jsxs("li", { class: "small", children: [_jsx(Badge, { variant: "outline", children: wallet.chain }), ' ', _jsx("code", { class: "mono", children: wallet.address }), wallet.label !== null && _jsxs("span", { class: "muted", children: [" ", wallet.label] })] }))) })) }))] })), invoices.length > 0 && (_jsxs("div", { class: "stack-sm", children: [_jsx("h3", { class: "card-title", children: "Invoices" }), _jsx("div", { class: "table-wrap", children: _jsxs("table", { class: "table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "When" }), _jsx("th", { children: "Amount" }), _jsx("th", { children: "Between" }), _jsx("th", { children: "Status" }), _jsx("th", {})] }) }), _jsx("tbody", { children: invoices.map((invoice) => (_jsxs("tr", { children: [_jsx("td", { class: "small muted", children: ago(invoice.createdAt) }), _jsxs("td", { children: ["$", invoice.amountUsd, " ", _jsx("span", { class: "small muted", children: invoice.currency })] }), _jsx("td", { class: "small", children: invoice.payee.id === viewerId
|
|
71
|
+
? 'You invoiced'
|
|
72
|
+
: `${invoice.payee.name} invoiced you` }), _jsx("td", { children: _jsx(StatusBadge, { status: invoice.status }) }), _jsx("td", { children: _jsx("a", { class: "small", href: `/inbox/${invoice.threadId}`, children: "Open" }) })] }))) })] }) })] }))] }));
|
|
73
|
+
//# sourceMappingURL=inbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/views/inbox.tsx"],"names":[],"mappings":"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"}
|
package/dist/views/jobs.d.ts
CHANGED
|
@@ -107,6 +107,15 @@ export declare const JobDetail: FC<{
|
|
|
107
107
|
slug: string;
|
|
108
108
|
title: string;
|
|
109
109
|
}[];
|
|
110
|
+
/** A private line to the employer, absent when the viewer is one of them. */
|
|
111
|
+
message?: {
|
|
112
|
+
to: {
|
|
113
|
+
employer: string;
|
|
114
|
+
};
|
|
115
|
+
job: string;
|
|
116
|
+
signedIn: boolean;
|
|
117
|
+
next: string;
|
|
118
|
+
};
|
|
110
119
|
}>;
|
|
111
120
|
export declare const EmployerList: FC<{
|
|
112
121
|
orgs: Organisation[];
|
package/dist/views/jobs.js
CHANGED
|
@@ -4,6 +4,7 @@ import { EMPTY_QUERY, queryToParams } from "../schema/query.js";
|
|
|
4
4
|
import { EMPLOYMENT_TYPES, SENIORITIES, WORKPLACES, AGENT_POLICIES } from "../schema/job.js";
|
|
5
5
|
import { AgentPolicyBadge, Alert, Badge, Card, Empty, Field, Prose } from "./layout.js";
|
|
6
6
|
import { AuthorSocial } from "./updates.js";
|
|
7
|
+
import { MessageButton } from "./inbox.js";
|
|
7
8
|
/**
|
|
8
9
|
* Where a tag points when there is no search to add it to.
|
|
9
10
|
*
|
|
@@ -135,11 +136,11 @@ export const Pagination = ({ page, query, base = '/', }) => {
|
|
|
135
136
|
};
|
|
136
137
|
export const InstallStrip = ({ publicUrl }) => (_jsxs("div", { class: "install-strip", children: [_jsxs("div", { children: [_jsx("strong", { children: "Use it from a terminal." }), ' ', _jsx("span", { class: "muted small", children: "Search, apply and post without opening a page." })] }), _jsxs("pre", { class: "code-block install-line", children: ["curl -fsSL ", publicUrl, "/install.sh | sh"] }), _jsxs("p", { class: "small muted install-note", children: ["No root, nothing outside your home directory. Then", ' ', _jsx("code", { children: "agenticjobs signup" }), ". Updating is ", _jsx("code", { children: "agenticjobs update" }), " and removing is ", _jsx("code", { children: "agenticjobs uninstall" }), ". ", _jsx("a", { href: "/docs", children: "What it installs" }), "."] })] }));
|
|
137
138
|
export const JobList = ({ page, query, boardName, tagline, publicUrl }) => (_jsxs("div", { class: "stack", children: [_jsxs("div", { children: [_jsx("h1", { children: boardName }), _jsx("p", { class: "lede", children: tagline })] }), _jsx(Filters, { query: query }), activeFilters(query).length > 0 && (_jsxs("p", { class: "row", style: "align-items:center;flex-wrap:wrap;gap:.5rem", children: [_jsx("span", { class: "small muted", children: "Filtering by:" }), activeFilters(query).map((filter) => (_jsxs("a", { class: "badge", title: `Remove ${filter.label}`, href: filter.href, children: [filter.label, " x"] }))), _jsx("a", { class: "small", href: "/", children: "Clear" }), _jsx("a", { class: "small", href: feedHref(query), children: "Subscribe" })] })), _jsx(InstallStrip, { publicUrl: publicUrl }), page.items.length === 0 ? (_jsxs(Empty, { children: [_jsx("p", { children: "Nothing matches that yet." }), _jsx("p", { class: "small", children: "This board only shows jobs posted to it, so an empty result means nobody has posted one like that - not that the search failed." })] })) : (_jsx("ul", { class: "job-list", children: page.items.map((job) => (_jsx(JobCard, { job: job, tags: query.tags, query: query }))) })), _jsx(Pagination, { page: page, query: query }), _jsxs("p", { class: "small muted", children: ["This search is a feed: ", _jsx("a", { href: "/feed", children: "/feed" }), ", and ", _jsx("code", { children: "/feed?tags=react,go" }), " for any set of tags. People are at ", _jsx("a", { href: "/candidates", children: "/candidates" }), ", with", ' ', _jsx("a", { href: "/candidates/feed", children: "/candidates/feed" }), ". What everyone is up to between listings is at ", _jsx("a", { href: "/updates", children: "/updates" }), "."] })] }));
|
|
138
|
-
export const JobDetail = ({ job, html, publicUrl, applied, problems, values, signedIn, resumes }) => {
|
|
139
|
+
export const JobDetail = ({ job, html, publicUrl, applied, problems, values, signedIn, resumes, message }) => {
|
|
139
140
|
const salary = formatSalary(job.salary);
|
|
140
141
|
return (_jsxs("div", { class: "grid-2", children: [_jsxs("article", { class: "stack", children: [_jsxs("div", { children: [_jsx("h1", { children: job.title }), _jsxs("p", { class: "lede", children: [_jsx("a", { href: `/employers/${job.org.slug}`, children: job.org.name }), job.location !== null && ` - ${job.location}`] })] }), _jsxs("div", { class: "job-meta", children: [_jsx("a", { class: "badge badge-outline", href: facetHref(undefined, { workplace: job.workplace }), children: job.workplace }), _jsx("a", { class: "badge badge-outline", href: facetHref(undefined, { employmentType: job.employmentType }), children: job.employmentType }), job.seniority !== null && (_jsx("a", { class: "badge badge-outline", href: facetHref(undefined, { seniority: job.seniority }), children: job.seniority })), _jsx("a", { class: "badge-plain", href: facetHref(undefined, { agentPolicy: job.agentPolicy }), children: _jsx(AgentPolicyBadge, { policy: job.agentPolicy }) }), salary !== null && _jsx(Badge, { variant: "primary", children: salary })] }), _jsx(Prose, { html: html }), job.requirements.length > 0 && (_jsxs("section", { children: [_jsx("h2", { children: "What they are asking for" }), _jsx("ul", { children: job.requirements.map((item) => (_jsx("li", { children: item }))) })] })), job.responsibilities.length > 0 && (_jsxs("section", { children: [_jsx("h2", { children: "What you would do" }), _jsx("ul", { children: job.responsibilities.map((item) => (_jsx("li", { children: item }))) })] })), (job.stack.length > 0 || job.tags.length > 0) && (_jsxs("section", { children: [_jsx("h2", { children: "Stack and tags" }), _jsx("p", { class: "small muted", children: "Each one finds the other jobs asking for it." }), _jsx("div", { class: "row", style: "flex-wrap:wrap;gap:.35rem", children: [...job.stack, ...job.tags]
|
|
141
142
|
.filter((item, index, all) => all.findIndex((other) => other.toLowerCase() === item.toLowerCase()) === index)
|
|
142
|
-
.map((item) => (_jsx("a", { class: "badge", href: jobTagHref([item]), children: item }))) })] })), _jsxs("div", { id: "apply", children: [_jsx("h2", { children: "Apply" }), applied === true ? (_jsxs(Alert, { variant: "success", children: [_jsx("strong", { children: "Sent." }), " ", job.org.name, " has your application."] })) : (_jsx(ApplyForm, { job: job, problems: problems ?? [], values: values ?? {}, signedIn: signedIn, resumes: resumes ?? [] }))] })] }), _jsxs("aside", { class: "stack", children: [_jsxs(Card, { children: [_jsxs("div", { class: "card-header", children: [_jsx("h2", { class: "card-title", children: "For agents" }), _jsx("p", { class: "card-description", children: "This job is machine readable. No scraping, no rendering." })] }), _jsx("p", { class: "small muted", children: "The form above, as data:" }), _jsxs("pre", { class: "code-block", children: ["GET ", publicUrl, "/api/v1/jobs/", job.slug, "/apply-schema"] }), _jsx("p", { class: "small muted", children: "Or over MCP, with the board connected:" }), _jsxs("pre", { class: "code-block", children: ["apply_to_job(slug: \"", job.slug, "\")"] }), _jsxs("p", { class: "small muted", children: ["Policy on this listing: ", _jsx("strong", { children: job.agentPolicy }), "."] })] }), _jsxs(Card, { children: [_jsx("div", { class: "card-header", children: _jsx("h2", { class: "card-title", children: job.org.name }) }), job.org.description !== null && _jsx("p", { class: "small", children: job.org.description }), job.org.website !== null && (_jsx("p", { class: "small", children: _jsx("a", { href: job.org.website, rel: "nofollow noopener", children: job.org.website.replace(/^https?:\/\//, '') }) })), _jsxs("p", { class: "small muted", children: ["Posted ", ago(job.publishedAt)] })] })] })] }));
|
|
143
|
+
.map((item) => (_jsx("a", { class: "badge", href: jobTagHref([item]), children: item }))) })] })), _jsxs("div", { id: "apply", children: [_jsx("h2", { children: "Apply" }), applied === true ? (_jsxs(Alert, { variant: "success", children: [_jsx("strong", { children: "Sent." }), " ", job.org.name, " has your application."] })) : (_jsx(ApplyForm, { job: job, problems: problems ?? [], values: values ?? {}, signedIn: signedIn, resumes: resumes ?? [] }))] })] }), _jsxs("aside", { class: "stack", children: [_jsxs(Card, { children: [_jsxs("div", { class: "card-header", children: [_jsx("h2", { class: "card-title", children: "For agents" }), _jsx("p", { class: "card-description", children: "This job is machine readable. No scraping, no rendering." })] }), _jsx("p", { class: "small muted", children: "The form above, as data:" }), _jsxs("pre", { class: "code-block", children: ["GET ", publicUrl, "/api/v1/jobs/", job.slug, "/apply-schema"] }), _jsx("p", { class: "small muted", children: "Or over MCP, with the board connected:" }), _jsxs("pre", { class: "code-block", children: ["apply_to_job(slug: \"", job.slug, "\")"] }), _jsxs("p", { class: "small muted", children: ["Policy on this listing: ", _jsx("strong", { children: job.agentPolicy }), "."] })] }), _jsxs(Card, { children: [_jsx("div", { class: "card-header", children: _jsx("h2", { class: "card-title", children: job.org.name }) }), job.org.description !== null && _jsx("p", { class: "small", children: job.org.description }), message !== undefined && (_jsxs("p", { children: [_jsx(MessageButton, { ...message }), ' ', _jsx("span", { class: "small muted", children: "A question about the role, privately." })] })), job.org.website !== null && (_jsx("p", { class: "small", children: _jsx("a", { href: job.org.website, rel: "nofollow noopener", children: job.org.website.replace(/^https?:\/\//, '') }) })), _jsxs("p", { class: "small muted", children: ["Posted ", ago(job.publishedAt)] })] })] })] }));
|
|
143
144
|
};
|
|
144
145
|
const ApplyForm = ({ job, problems, values, signedIn, resumes }) => {
|
|
145
146
|
const errorFor = (name) => problems.find((problem) => problem.field === name)?.message;
|
package/dist/views/jobs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/views/jobs.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/views/jobs.tsx"],"names":[],"mappings":"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"}
|
package/dist/views/layout.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface PageProps {
|
|
|
21
21
|
/** Hidden from search engines: dashboards, editors, one-off flows. */
|
|
22
22
|
noindex?: boolean;
|
|
23
23
|
isDirectory?: boolean;
|
|
24
|
+
/** Conversations with something unread, shown beside Inbox. */
|
|
25
|
+
unread?: number;
|
|
24
26
|
}
|
|
25
27
|
export declare const Layout: FC<PropsWithChildren<PageProps>>;
|
|
26
28
|
/** Rendered Markdown. The only place already-escaped HTML enters a page. */
|
package/dist/views/layout.js
CHANGED
|
@@ -2,14 +2,14 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "hono/jsx/jsx-
|
|
|
2
2
|
import { raw } from 'hono/html';
|
|
3
3
|
import { jsonForScript } from "../markup/escape.js";
|
|
4
4
|
export const Layout = (props) => {
|
|
5
|
-
const { title, description, viewer, boardName, publicUrl, path, jsonld, canonical, noindex, isDirectory, children, } = props;
|
|
5
|
+
const { title, description, viewer, boardName, publicUrl, path, jsonld, canonical, noindex, isDirectory, unread = 0, children, } = props;
|
|
6
6
|
const full = title === boardName ? title : `${title} - ${boardName}`;
|
|
7
7
|
const url = canonical ?? `${publicUrl}${path}`;
|
|
8
8
|
return (_jsxs("html", { lang: "en", children: [_jsxs("head", { children: [_jsx("meta", { charset: "utf-8" }), _jsx("meta", { name: "viewport", content: "width=device-width, initial-scale=1, viewport-fit=cover" }), _jsx("title", { children: full }), description !== undefined && _jsx("meta", { name: "description", content: description }), _jsx("link", { rel: "canonical", href: url }), noindex === true && _jsx("meta", { name: "robots", content: "noindex, nofollow" }), _jsx("meta", { property: "og:title", content: full }), description !== undefined && _jsx("meta", { property: "og:description", content: description }), _jsx("meta", { property: "og:url", content: url }), _jsx("meta", { property: "og:type", content: "website" }), _jsx("meta", { property: "og:site_name", content: boardName }), _jsx("meta", { name: "twitter:card", content: "summary" }), _jsx("meta", { name: "theme-color", media: "(prefers-color-scheme: light)", content: "#ffffff" }), _jsx("meta", { name: "theme-color", media: "(prefers-color-scheme: dark)", content: "#111318" }), _jsx("link", { rel: "stylesheet", href: "/assets/app.css" }), _jsx("link", { rel: "manifest", href: "/manifest.webmanifest" }), _jsx("link", { rel: "icon", href: "/assets/icon.svg", type: "image/svg+xml" }), _jsx("link", { rel: "alternate", type: "application/json", href: "/jobs.json", title: `${boardName} jobs` }), _jsx("link", { rel: "alternate", type: "application/rss+xml", href: "/feed", title: `${boardName} jobs` }), _jsx("link", { rel: "alternate", type: "application/rss+xml", href: "/candidates/feed", title: `${boardName} candidates` }), _jsx("link", { rel: "alternate", type: "application/rss+xml", href: "/updates/feed", title: `${boardName} updates` }), _jsx("link", { rel: "alternate", type: "text/markdown", href: "/jobs.md", title: `${boardName} jobs` }), _jsx("link", { rel: "alternate", type: "application/rss+xml", href: "/feed.rss", title: boardName }), jsonld !== undefined && (_jsx("script", { type: "application/ld+json",
|
|
9
9
|
// Interpolating JSON into a script element without escaping the
|
|
10
10
|
// angle brackets is stored XSS the first time a job title contains
|
|
11
11
|
// the word "script".
|
|
12
|
-
dangerouslySetInnerHTML: { __html: jsonForScript(jsonld) } }))] }), _jsxs("body", { children: [_jsx("a", { class: "skip-link", href: "#main", children: "Skip to content" }), _jsx("header", { class: "site-header", children: _jsxs("div", { class: "container", children: [_jsxs("a", { class: "brand", href: "/", children: [_jsx("span", { class: "brand-mark", "aria-hidden": "true", children: "aj" }), boardName] }), _jsxs("nav", { class: "nav", "aria-label": "Main", children: [_jsx("a", { href: "/", "aria-current": path === '/' ? 'page' : undefined, children: "Jobs" }), _jsx("a", { href: "/candidates", "aria-current": path.startsWith('/candidates') ? 'page' : undefined, children: "Candidates" }), _jsx("a", { href: "/employers", "aria-current": path.startsWith('/employers') ? 'page' : undefined, children: "Employers" }), _jsx("a", { href: "/updates", "aria-current": path.startsWith('/updates') ? 'page' : undefined, children: "Updates" }), isDirectory === true && (_jsx("a", { href: "/network", "aria-current": path.startsWith('/network') ? 'page' : undefined, children: "Network" })), _jsx("a", { href: "/docs", "aria-current": path.startsWith('/docs') ? 'page' : undefined, children: "For agents" }), viewer === null ? (_jsx("a", { class: "btn btn-sm", href: "/login", children: "Sign in" })) : (_jsxs(_Fragment, { children: [_jsx("a", { href: "/me", "aria-current": path.startsWith('/me') ? 'page' : undefined, children: "You" }), _jsx("a", { class: "btn btn-sm", href: "/post", children: "Post a job" })] }))] })] }) }), _jsx("main", { id: "main", children: _jsx("div", { class: "container", children: children }) }), _jsx("footer", { class: "site-footer", children: _jsxs("div", { class: "container", children: [_jsxs("span", { children: [boardName, " runs on", ' ', _jsx("a", { href: "https://github.com/profullstack/agenticjobs", children: "agenticjobs" }), ", MIT licensed."] }), _jsx("a", { href: "/docs", children: "API" }), _jsx("a", { href: "/api/v1/openapi.json", children: "OpenAPI" }), _jsx("a", { href: "/.well-known/agenticjobs", children: "Instance" }), _jsx("a", { href: "/jobs.json", children: "Feed" }), _jsx("a", { href: "/llms.txt", children: "llms.txt" })] }) }), _jsx("script", { src: "/assets/app.js", defer: true }), _jsx("script", { "data-site": "98e94c73-a6c0-491d-aa41-4c58c93f5ee1", src: "https://crawlproof.com/stats.js", defer: true })] })] }));
|
|
12
|
+
dangerouslySetInnerHTML: { __html: jsonForScript(jsonld) } }))] }), _jsxs("body", { children: [_jsx("a", { class: "skip-link", href: "#main", children: "Skip to content" }), _jsx("header", { class: "site-header", children: _jsxs("div", { class: "container", children: [_jsxs("a", { class: "brand", href: "/", children: [_jsx("span", { class: "brand-mark", "aria-hidden": "true", children: "aj" }), boardName] }), _jsxs("nav", { class: "nav", "aria-label": "Main", children: [_jsx("a", { href: "/", "aria-current": path === '/' ? 'page' : undefined, children: "Jobs" }), _jsx("a", { href: "/candidates", "aria-current": path.startsWith('/candidates') ? 'page' : undefined, children: "Candidates" }), _jsx("a", { href: "/employers", "aria-current": path.startsWith('/employers') ? 'page' : undefined, children: "Employers" }), _jsx("a", { href: "/updates", "aria-current": path.startsWith('/updates') ? 'page' : undefined, children: "Updates" }), isDirectory === true && (_jsx("a", { href: "/network", "aria-current": path.startsWith('/network') ? 'page' : undefined, children: "Network" })), _jsx("a", { href: "/docs", "aria-current": path.startsWith('/docs') ? 'page' : undefined, children: "For agents" }), viewer === null ? (_jsx("a", { class: "btn btn-sm", href: "/login", children: "Sign in" })) : (_jsxs(_Fragment, { children: [_jsxs("a", { href: "/inbox", "aria-current": path.startsWith('/inbox') ? 'page' : undefined, children: ["Inbox", unread > 0 && (_jsxs(_Fragment, { children: [' ', _jsx("span", { class: "nav-count", "aria-label": `${unread} unread`, children: unread })] }))] }), _jsx("a", { href: "/me", "aria-current": path.startsWith('/me') ? 'page' : undefined, children: "You" }), _jsx("a", { class: "btn btn-sm", href: "/post", children: "Post a job" })] }))] })] }) }), _jsx("main", { id: "main", children: _jsx("div", { class: "container", children: children }) }), _jsx("footer", { class: "site-footer", children: _jsxs("div", { class: "container", children: [_jsxs("span", { children: [boardName, " runs on", ' ', _jsx("a", { href: "https://github.com/profullstack/agenticjobs", children: "agenticjobs" }), ", MIT licensed."] }), _jsx("a", { href: "/docs", children: "API" }), _jsx("a", { href: "/api/v1/openapi.json", children: "OpenAPI" }), _jsx("a", { href: "/.well-known/agenticjobs", children: "Instance" }), _jsx("a", { href: "/jobs.json", children: "Feed" }), _jsx("a", { href: "/llms.txt", children: "llms.txt" })] }) }), _jsx("script", { src: "/assets/app.js", defer: true }), _jsx("script", { "data-site": "98e94c73-a6c0-491d-aa41-4c58c93f5ee1", src: "https://crawlproof.com/stats.js", defer: true })] })] }));
|
|
13
13
|
};
|
|
14
14
|
/** Rendered Markdown. The only place already-escaped HTML enters a page. */
|
|
15
15
|
export const Prose = ({ html, class: className }) => (_jsx("div", { class: className === undefined ? 'prose' : `prose ${className}`, children: raw(html) }));
|
package/dist/views/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/views/layout.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/views/layout.tsx"],"names":[],"mappings":"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"}
|
package/dist/views/me.d.ts
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Your side of the board: employers you can post under, jobs you have posted,
|
|
3
3
|
* applications you have sent, and your resumes.
|
|
4
4
|
*/
|
|
5
|
-
import type { FC } from 'hono/jsx';
|
|
5
|
+
import type { FC, PropsWithChildren } from 'hono/jsx';
|
|
6
6
|
import type { Job, Organisation } from '../schema/index.ts';
|
|
7
7
|
import type { Resume } from '../core/resumes.ts';
|
|
8
8
|
import type { Viewer } from '../core/auth.ts';
|
|
9
9
|
import type { Following, Update } from '../core/updates.ts';
|
|
10
|
-
export declare const MePage: FC<{
|
|
10
|
+
export declare const MePage: FC<PropsWithChildren<{
|
|
11
11
|
viewer: Viewer;
|
|
12
12
|
orgs: Organisation[];
|
|
13
13
|
jobs: Job[];
|
|
@@ -28,7 +28,7 @@ export declare const MePage: FC<{
|
|
|
28
28
|
*/
|
|
29
29
|
candidateSlug: string | null;
|
|
30
30
|
updateMax: number;
|
|
31
|
-
}
|
|
31
|
+
}>>;
|
|
32
32
|
export declare const ResumeEditor: FC<{
|
|
33
33
|
resume: Resume | null;
|
|
34
34
|
html: string;
|
package/dist/views/me.js
CHANGED
|
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "hono/jsx/jsx-
|
|
|
2
2
|
import { ago } from "../schema/text.js";
|
|
3
3
|
import { Alert, Badge, Card, Empty, Field, Prose } from "./layout.js";
|
|
4
4
|
import { UpdateComposer, UpdateList } from "./updates.js";
|
|
5
|
-
export const MePage = ({ viewer, orgs, jobs, resumes, applications, updates, following, candidateSlug, updateMax, }) => (_jsxs("div", { class: "stack", children: [_jsxs("div", { children: [_jsx("h1", { children: "You" }), _jsx("p", { class: "lede", children: viewer.email })] }), _jsxs("section", { class: "stack", children: [_jsxs("div", { class: "spread", children: [_jsx("h2", { children: "Resumes" }), _jsx("a", { class: "btn btn-sm", href: "/me/resumes/new", children: "New resume" })] }), _jsx("p", { class: "small muted", children: "Markdown, in the OpenResume.md convention. Upload a PDF or a Word file and it is converted for you; what you keep is the Markdown." }), resumes.length === 0 ? (_jsx(Empty, { children: "No resumes yet." })) : (_jsx("ul", { class: "job-list", children: resumes.map((resume) => (_jsx("li", { children: _jsxs("a", { class: "card card-link", href: `/me/resumes/${resume.slug}`, children: [_jsxs("div", { class: "spread", children: [_jsx("h3", { class: "card-title", children: resume.title }), _jsx(Badge, { variant: resume.visibility === 'private' ? 'outline' : 'primary', children: resume.visibility })] }), _jsxs("p", { class: "small muted", children: ["Updated ", ago(resume.updatedAt), resume.sourceName !== null && ` - from ${resume.sourceName}`] })] }) }))) }))] }), _jsxs("section", { class: "stack", children: [_jsx("h2", { children: "Updates" }), candidateSlug === null ? (_jsx("p", { class: "small muted", children: "Publish a resume and you can post updates as yourself: what you shipped, when you are free next. They appear on your candidate page and in the board's feed." })) : (_jsxs(_Fragment, { children: [_jsx(UpdateComposer, { action: "/me/updates", as: viewer.name ?? viewer.email, max: updateMax }), updates.length > 0 && _jsx(UpdateList, { updates: updates, showAuthor: false })] })), following.length > 0 && (_jsxs("p", { class: "small muted", children: ["Following", ' ', following.map((entry, index) => (_jsxs(_Fragment, { children: [index > 0 && ', ', entry.slug === null ? (entry.name) : (_jsx("a", { href: entry.kind === 'employer'
|
|
5
|
+
export const MePage = ({ viewer, orgs, jobs, resumes, applications, updates, following, candidateSlug, updateMax, children, }) => (_jsxs("div", { class: "stack", children: [_jsxs("div", { children: [_jsx("h1", { children: "You" }), _jsx("p", { class: "lede", children: viewer.email })] }), _jsxs("section", { class: "stack", children: [_jsxs("div", { class: "spread", children: [_jsx("h2", { children: "Resumes" }), _jsx("a", { class: "btn btn-sm", href: "/me/resumes/new", children: "New resume" })] }), _jsx("p", { class: "small muted", children: "Markdown, in the OpenResume.md convention. Upload a PDF or a Word file and it is converted for you; what you keep is the Markdown." }), resumes.length === 0 ? (_jsx(Empty, { children: "No resumes yet." })) : (_jsx("ul", { class: "job-list", children: resumes.map((resume) => (_jsx("li", { children: _jsxs("a", { class: "card card-link", href: `/me/resumes/${resume.slug}`, children: [_jsxs("div", { class: "spread", children: [_jsx("h3", { class: "card-title", children: resume.title }), _jsx(Badge, { variant: resume.visibility === 'private' ? 'outline' : 'primary', children: resume.visibility })] }), _jsxs("p", { class: "small muted", children: ["Updated ", ago(resume.updatedAt), resume.sourceName !== null && ` - from ${resume.sourceName}`] })] }) }))) }))] }), _jsxs("section", { class: "stack", children: [_jsx("h2", { children: "Updates" }), candidateSlug === null ? (_jsx("p", { class: "small muted", children: "Publish a resume and you can post updates as yourself: what you shipped, when you are free next. They appear on your candidate page and in the board's feed." })) : (_jsxs(_Fragment, { children: [_jsx(UpdateComposer, { action: "/me/updates", as: viewer.name ?? viewer.email, max: updateMax }), updates.length > 0 && _jsx(UpdateList, { updates: updates, showAuthor: false })] })), following.length > 0 && (_jsxs("p", { class: "small muted", children: ["Following", ' ', following.map((entry, index) => (_jsxs(_Fragment, { children: [index > 0 && ', ', entry.slug === null ? (entry.name) : (_jsx("a", { href: entry.kind === 'employer'
|
|
6
6
|
? `/employers/${entry.slug}`
|
|
7
|
-
: `/candidates/${entry.slug}`, children: entry.name }))] }))), ". ", _jsx("a", { href: "/updates", children: "Their updates" }), "."] }))] }), _jsxs("section", { class: "stack", children: [_jsxs("div", { class: "spread", children: [_jsx("h2", { children: "Employers" }), _jsx("a", { class: "btn btn-sm btn-secondary", href: "/me/employers/new", children: "Add an employer" })] }), orgs.length === 0 ? (_jsx(Empty, { children: "You cannot post a job until you add the employer it is for." })) : (_jsx("div", { class: "row", children: orgs.map((org) => (_jsx("a", { class: "badge badge-primary", href: `/employers/${org.slug}`, children: org.name }))) }))] }), _jsxs("section", { class: "stack", children: [_jsxs("div", { class: "spread", children: [_jsx("h2", { children: "Your listings" }), orgs.length > 0 && (_jsx("a", { class: "btn btn-sm", href: "/post", children: "Post a job" }))] }), jobs.length === 0 ? (_jsx(Empty, { children: "Nothing posted yet." })) : (_jsx("ul", { class: "job-list", children: jobs.map((job) => (_jsx("li", { children: _jsxs("a", { class: "card card-link", href: `/me/jobs/${job.slug}`, children: [_jsxs("div", { class: "spread", children: [_jsx("h3", { class: "card-title", children: job.title }), _jsx(Badge, { variant: job.status === 'published' ? 'primary' : 'outline', children: job.status })] }), _jsxs("p", { class: "small muted", children: [job.org.name, " - ", job.status === 'published' ? ago(job.publishedAt) : 'not live'] })] }) }))) }))] }), _jsxs("section", { class: "stack", children: [_jsx("h2", { children: "Applications you have sent" }), applications.length === 0 ? (_jsx(Empty, { children: "None yet." })) : (_jsx("ul", { class: "job-list", children: applications.map((application) => (_jsx("li", { children: _jsxs("a", { class: "card card-link", href: `/jobs/${application.jobSlug}`, children: [_jsxs("div", { class: "spread", children: [_jsx("h3", { class: "card-title", children: application.jobTitle }), _jsx(Badge, { variant: "outline", children: application.status })] }), _jsxs("p", { class: "small muted", children: ["Sent ", ago(application.createdAt)] })] }) }))) }))] }), _jsxs(Card, { children: [_jsxs("div", { class: "card-header", children: [_jsx("h2", { class: "card-title", children: "Terminals and agents" }), _jsxs("p", { class: "card-description", children: [_jsx("code", { children: "agenticjobs login" }), " asks this board for a code; approve it at", ' ', _jsx("a", { href: "/device", children: "/device" }), ". A terminal token can read and apply, and is never an administrator."] })] }), _jsx("button", { class: "btn btn-secondary btn-sm", type: "button", id: "passkey-add", hidden: true, children: "Add a passkey to this account" }), _jsx("p", { class: "small error-text", id: "passkey-add-error", hidden: true }), _jsx("form", { method: "post", action: "/logout", style: "margin-top:.75rem", children: _jsx("button", { class: "btn btn-ghost btn-sm", type: "submit", children: "Sign out of this browser" }) })] })] }));
|
|
7
|
+
: `/candidates/${entry.slug}`, children: entry.name }))] }))), ". ", _jsx("a", { href: "/updates", children: "Their updates" }), "."] }))] }), _jsxs("section", { class: "stack", children: [_jsxs("div", { class: "spread", children: [_jsx("h2", { children: "Employers" }), _jsx("a", { class: "btn btn-sm btn-secondary", href: "/me/employers/new", children: "Add an employer" })] }), orgs.length === 0 ? (_jsx(Empty, { children: "You cannot post a job until you add the employer it is for." })) : (_jsx("div", { class: "row", children: orgs.map((org) => (_jsx("a", { class: "badge badge-primary", href: `/employers/${org.slug}`, children: org.name }))) }))] }), _jsxs("section", { class: "stack", children: [_jsxs("div", { class: "spread", children: [_jsx("h2", { children: "Your listings" }), orgs.length > 0 && (_jsx("a", { class: "btn btn-sm", href: "/post", children: "Post a job" }))] }), jobs.length === 0 ? (_jsx(Empty, { children: "Nothing posted yet." })) : (_jsx("ul", { class: "job-list", children: jobs.map((job) => (_jsx("li", { children: _jsxs("a", { class: "card card-link", href: `/me/jobs/${job.slug}`, children: [_jsxs("div", { class: "spread", children: [_jsx("h3", { class: "card-title", children: job.title }), _jsx(Badge, { variant: job.status === 'published' ? 'primary' : 'outline', children: job.status })] }), _jsxs("p", { class: "small muted", children: [job.org.name, " - ", job.status === 'published' ? ago(job.publishedAt) : 'not live'] })] }) }))) }))] }), _jsxs("section", { class: "stack", children: [_jsx("h2", { children: "Applications you have sent" }), applications.length === 0 ? (_jsx(Empty, { children: "None yet." })) : (_jsx("ul", { class: "job-list", children: applications.map((application) => (_jsx("li", { children: _jsxs("a", { class: "card card-link", href: `/jobs/${application.jobSlug}`, children: [_jsxs("div", { class: "spread", children: [_jsx("h3", { class: "card-title", children: application.jobTitle }), _jsx(Badge, { variant: "outline", children: application.status })] }), _jsxs("p", { class: "small muted", children: ["Sent ", ago(application.createdAt)] })] }) }))) }))] }), _jsxs(Card, { children: [_jsxs("div", { class: "card-header", children: [_jsx("h2", { class: "card-title", children: "Terminals and agents" }), _jsxs("p", { class: "card-description", children: [_jsx("code", { children: "agenticjobs login" }), " asks this board for a code; approve it at", ' ', _jsx("a", { href: "/device", children: "/device" }), ". A terminal token can read and apply, and is never an administrator."] })] }), _jsx("button", { class: "btn btn-secondary btn-sm", type: "button", id: "passkey-add", hidden: true, children: "Add a passkey to this account" }), _jsx("p", { class: "small error-text", id: "passkey-add-error", hidden: true }), _jsx("form", { method: "post", action: "/logout", style: "margin-top:.75rem", children: _jsx("button", { class: "btn btn-ghost btn-sm", type: "submit", children: "Sign out of this browser" }) })] }), children] }));
|
|
8
8
|
export const ResumeEditor = ({ resume, html, warnings, error, saved }) => (
|
|
9
9
|
/*
|
|
10
10
|
* The preview sits below the editor, not beside it.
|
package/dist/views/me.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/views/me.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,aAAc,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAe,CAAC;AAG3D,MAAM,CAAC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/views/me.tsx"],"names":[],"mappings":"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"}
|
package/dist/views/updates.d.ts
CHANGED
|
@@ -68,6 +68,19 @@ export interface SocialProps {
|
|
|
68
68
|
action: string;
|
|
69
69
|
max: number;
|
|
70
70
|
} | null;
|
|
71
|
+
/**
|
|
72
|
+
* A way to write to this author privately. Absent on your own page, and
|
|
73
|
+
* the only way to reach somebody here: there is no public comment box.
|
|
74
|
+
*/
|
|
75
|
+
message?: {
|
|
76
|
+
to: {
|
|
77
|
+
candidate: string;
|
|
78
|
+
} | {
|
|
79
|
+
employer: string;
|
|
80
|
+
};
|
|
81
|
+
signedIn: boolean;
|
|
82
|
+
next: string;
|
|
83
|
+
};
|
|
71
84
|
error?: string;
|
|
72
85
|
}
|
|
73
86
|
export declare const AuthorSocial: FC<SocialProps>;
|
package/dist/views/updates.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "hono/jsx/jsx-runtime";
|
|
2
2
|
import { Card, Empty, Field } from "./layout.js";
|
|
3
3
|
import { ago } from "../schema/text.js";
|
|
4
|
+
import { MessageButton } from "./inbox.js";
|
|
4
5
|
/** Where an author's own page is, when they have one. */
|
|
5
6
|
function authorHref(author) {
|
|
6
7
|
if (author.slug === null)
|
|
@@ -39,7 +40,7 @@ export const UpdateComposer = ({ action, as, max, error, value }) => (_jsxs(Card
|
|
|
39
40
|
* scanner or crawler can make on the reader's behalf.
|
|
40
41
|
*/
|
|
41
42
|
export const FollowButton = ({ action, following, followers, signedIn, next }) => (_jsxs("div", { class: "row", style: "align-items:center;gap:.6rem;flex-wrap:wrap", children: [signedIn ? (_jsxs("form", { method: "post", action: action, children: [_jsx("input", { type: "hidden", name: "following", value: following ? 'yes' : 'no' }), _jsx("button", { class: following ? 'btn btn-secondary btn-sm' : 'btn btn-sm', type: "submit", children: following ? 'Following' : 'Follow' })] })) : (_jsx("a", { class: "btn btn-sm", href: `/login?next=${encodeURIComponent(next)}`, children: "Follow" })), _jsxs("span", { class: "small muted", children: [followers, " ", followers === 1 ? 'follower' : 'followers'] })] }));
|
|
42
|
-
export const AuthorSocial = ({ as, updates, follow, composer, error }) => (_jsxs("div", { class: "stack", children: [_jsx(FollowButton, { ...follow }), composer !== null && (_jsx(UpdateComposer, { action: composer.action, as: as, max: composer.max, error: error })), updates.length > 0 && (_jsxs("div", { class: "stack-sm", children: [_jsx("h2", { class: "card-title", children: "Updates" }), _jsx(UpdateList, { updates: updates, showAuthor: false })] }))] }));
|
|
43
|
+
export const AuthorSocial = ({ as, updates, follow, composer, message, error }) => (_jsxs("div", { class: "stack", children: [_jsxs("div", { class: "row", style: "align-items:center;gap:.6rem;flex-wrap:wrap", children: [_jsx(FollowButton, { ...follow }), message !== undefined && _jsx(MessageButton, { ...message })] }), composer !== null && (_jsx(UpdateComposer, { action: composer.action, as: as, max: composer.max, error: error })), updates.length > 0 && (_jsxs("div", { class: "stack-sm", children: [_jsx("h2", { class: "card-title", children: "Updates" }), _jsx(UpdateList, { updates: updates, showAuthor: false })] }))] }));
|
|
43
44
|
/** The board's news page: everything anybody posted. */
|
|
44
45
|
export const UpdatesPage = ({ updates, boardName, followed, following }) => (_jsxs("div", { class: "stack", children: [_jsxs("div", { class: "stack-sm", children: [_jsx("h1", { children: "Updates" }), _jsxs("p", { class: "lede", children: ["Short posts from the employers and candidates on ", boardName, ". Everyone here is a real employer or a person with a resume, and nobody can post more than five a day."] })] }), followed !== null && (_jsxs(Card, { children: [_jsx("div", { class: "card-header", children: _jsxs("h2", { class: "card-title", children: ["From the ", following.length, " you follow"] }) }), followed.length === 0 ? (_jsx("p", { class: "small muted", children: following.length === 0
|
|
45
46
|
? 'You do not follow anybody yet. There is a Follow button on every employer and candidate page.'
|