@profullstack/agenticjobs 0.1.1 → 0.3.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.
Files changed (45) hide show
  1. package/README.md +34 -1
  2. package/dist/cli/index.js +101 -2
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/manage.d.ts +33 -0
  5. package/dist/cli/manage.js +120 -0
  6. package/dist/cli/manage.js.map +1 -0
  7. package/dist/client/login.d.ts +15 -0
  8. package/dist/client/login.js +18 -5
  9. package/dist/client/login.js.map +1 -1
  10. package/dist/config.d.ts +12 -2
  11. package/dist/config.js +44 -4
  12. package/dist/config.js.map +1 -1
  13. package/dist/core/auth.d.ts +2 -0
  14. package/dist/core/auth.js +2 -1
  15. package/dist/core/auth.js.map +1 -1
  16. package/dist/core/mail.d.ts +64 -0
  17. package/dist/core/mail.js +125 -0
  18. package/dist/core/mail.js.map +1 -0
  19. package/dist/directory/fetch.d.ts +1 -1
  20. package/dist/directory/registry.d.ts +1 -0
  21. package/dist/directory/registry.js +17 -1
  22. package/dist/directory/registry.js.map +1 -1
  23. package/dist/server/app.d.ts +6 -1
  24. package/dist/server/app.js +7 -2
  25. package/dist/server/app.js.map +1 -1
  26. package/dist/server/deps.d.ts +3 -0
  27. package/dist/server/routes/api.js +25 -8
  28. package/dist/server/routes/api.js.map +1 -1
  29. package/dist/server/routes/discovery.js +19 -0
  30. package/dist/server/routes/discovery.js.map +1 -1
  31. package/dist/server/routes/pages.js +15 -5
  32. package/dist/server/routes/pages.js.map +1 -1
  33. package/dist/server/serve.js +22 -7
  34. package/dist/server/serve.js.map +1 -1
  35. package/dist/views/auth.d.ts +1 -1
  36. package/dist/views/auth.js +3 -1
  37. package/dist/views/auth.js.map +1 -1
  38. package/dist/views/docs.js +8 -5
  39. package/dist/views/docs.js.map +1 -1
  40. package/dist/views/jobs.d.ts +4 -0
  41. package/dist/views/jobs.js +2 -1
  42. package/dist/views/jobs.js.map +1 -1
  43. package/package.json +16 -17
  44. package/web/public/app.css +30 -0
  45. package/web/public/install.sh +152 -0
@@ -22,7 +22,8 @@ export const Pagination = ({ page, query, base = '/', }) => {
22
22
  };
23
23
  return (_jsxs("nav", { class: "pagination", "aria-label": "Pages", children: [query.offset > 0 && (_jsx("a", { class: "btn btn-secondary btn-sm", href: link(previous), children: "Previous" })), _jsxs("span", { class: "small muted", style: "align-self:center", children: [query.offset + 1, "-", Math.min(page.total, next), " of ", page.total] }), next < page.total && (_jsx("a", { class: "btn btn-secondary btn-sm", href: link(next), children: "Next" }))] }));
24
24
  };
25
- export const JobList = ({ page, query, boardName, tagline }) => (_jsxs("div", { class: "stack", children: [_jsxs("div", { children: [_jsx("h1", { children: boardName }), _jsx("p", { class: "lede", children: tagline })] }), _jsx(Filters, { query: query }), 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 }))) })), _jsx(Pagination, { page: page, query: query })] }));
25
+ 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" }), "."] })] }));
26
+ 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 }), _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 }))) })), _jsx(Pagination, { page: page, query: query })] }));
26
27
  export const JobDetail = ({ job, html, publicUrl, applied, problems, values, signedIn, resumes }) => {
27
28
  const salary = formatSalary(job.salary);
28
29
  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(Badge, { variant: "outline", children: job.workplace }), _jsx(Badge, { variant: "outline", children: job.employmentType }), job.seniority !== null && _jsx(Badge, { variant: "outline", children: job.seniority }), _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 && (_jsxs("section", { children: [_jsx("h2", { children: "Stack" }), _jsx("div", { class: "row", children: job.stack.map((item) => (_jsx(Badge, { 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)] })] })] })] }));
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@profullstack/agenticjobs",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "An agent-friendly job board you self-host. It posts its own jobs, never scrapes anyone else's, and answers on every surface: web, API, MCP, CLI, TUI, desktop and PWA. Instances find each other through an open directory.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -29,7 +29,6 @@
29
29
  "engines": {
30
30
  "node": ">=24"
31
31
  },
32
- "packageManager": "pnpm@11.18.0",
33
32
  "bin": {
34
33
  "agenticjobs": "./bin/agenticjobs.mjs",
35
34
  "agenticjobs-mcp": "./bin/agenticjobs-mcp.mjs"
@@ -43,22 +42,9 @@
43
42
  "README.md",
44
43
  "LICENSE"
45
44
  ],
46
- "scripts": {
47
- "build": "tsc -p tsconfig.json",
48
- "clean": "rm -rf dist",
49
- "dev": "node --env-file-if-exists=.env --watch dist/cli/index.js serve",
50
- "start": "node --env-file-if-exists=.env dist/cli/index.js serve",
51
- "migrate": "node --env-file-if-exists=.env dist/db/migrate.js",
52
- "seed": "node --env-file-if-exists=.env dist/db/seed.js",
53
- "tui": "node --env-file-if-exists=.env dist/cli/index.js tui",
54
- "test": "pnpm run build && node --test \"test/*.test.ts\"",
55
- "typecheck": "tsc -p tsconfig.json --noEmit",
56
- "format": "prettier --write .",
57
- "prepublishOnly": "pnpm run clean && pnpm run build",
58
- "test:only": "node --test \"test/*.test.ts\""
59
- },
60
45
  "dependencies": {
61
46
  "@hono/node-server": "^1.14.0",
47
+ "@profullstack/emailer": "^1.0.3",
62
48
  "@profullstack/hqtui": "^0.3.0",
63
49
  "@simplewebauthn/server": "^14.0.1",
64
50
  "hono": "^4.6.14",
@@ -88,5 +74,18 @@
88
74
  "default": "./dist/mcp/server.js"
89
75
  },
90
76
  "./package.json": "./package.json"
77
+ },
78
+ "scripts": {
79
+ "build": "tsc -p tsconfig.json",
80
+ "clean": "rm -rf dist",
81
+ "dev": "node --env-file-if-exists=.env --watch dist/cli/index.js serve",
82
+ "start": "node --env-file-if-exists=.env dist/cli/index.js serve",
83
+ "migrate": "node --env-file-if-exists=.env dist/db/migrate.js",
84
+ "seed": "node --env-file-if-exists=.env dist/db/seed.js",
85
+ "tui": "node --env-file-if-exists=.env dist/cli/index.js tui",
86
+ "test": "pnpm run build && node --test \"test/*.test.ts\"",
87
+ "typecheck": "tsc -p tsconfig.json --noEmit",
88
+ "format": "prettier --write .",
89
+ "test:only": "node --test \"test/*.test.ts\""
91
90
  }
92
- }
91
+ }
@@ -729,3 +729,33 @@ legend {
729
729
  justify-content: space-between;
730
730
  padding: 0.2rem 0;
731
731
  }
732
+
733
+ /* --- install strip ------------------------------------------------------
734
+ *
735
+ * On the home page, under the filters. People who would rather use the
736
+ * terminal should not have to go and find the docs to discover there is one.
737
+ */
738
+
739
+ .install-strip {
740
+ border: 1px solid var(--border);
741
+ border-radius: var(--radius);
742
+ background: var(--muted);
743
+ padding: 0.9rem 1rem;
744
+ display: flex;
745
+ flex-direction: column;
746
+ gap: 0.5rem;
747
+ }
748
+
749
+ .install-strip .install-line {
750
+ background: var(--background);
751
+ margin: 0;
752
+ /* The command is the point, so it stays selectable on one line and scrolls
753
+ rather than wrapping into something that pastes wrong. */
754
+ white-space: pre;
755
+ overflow-x: auto;
756
+ user-select: all;
757
+ }
758
+
759
+ .install-strip .install-note {
760
+ margin: 0;
761
+ }
@@ -0,0 +1,152 @@
1
+ #!/bin/sh
2
+ # agenticjobs installer.
3
+ #
4
+ # curl -fsSL https://agenticjobs.work/install.sh | sh
5
+ #
6
+ # Installs the `agenticjobs` CLI and the `agenticjobs-mcp` stdio server under
7
+ # your home directory. No root, no package manager, no system files touched.
8
+ # Updating is `agenticjobs update` and removing is `agenticjobs uninstall`,
9
+ # which runs a script this installer leaves behind.
10
+ #
11
+ # sh -s -- --version X install a specific release
12
+ # sh -s -- --prefix DIR install root (default: ~/.local)
13
+ set -eu
14
+
15
+ PKG="@profullstack/agenticjobs"
16
+ SITE="${AGENTICJOBS_SITE:-https://agenticjobs.work}"
17
+ PREFIX="${AGENTICJOBS_PREFIX:-$HOME/.local}"
18
+ VERSION="${AGENTICJOBS_VERSION:-}"
19
+
20
+ while [ $# -gt 0 ]; do
21
+ case "$1" in
22
+ --version) VERSION="${2:?--version needs a value}"; shift ;;
23
+ --prefix) PREFIX="${2:?--prefix needs a value}"; shift ;;
24
+ -h|--help) sed -n '2,13p' "$0" 2>/dev/null || echo "See $SITE"; exit 0 ;;
25
+ *) echo "unknown option: $1" >&2; exit 64 ;;
26
+ esac
27
+ shift
28
+ done
29
+
30
+ say() { printf '%s\n' "$*"; }
31
+ fail() { printf 'error: %s\n' "$*" >&2; exit 1; }
32
+
33
+ # --- what this machine has ----------------------------------------------------
34
+
35
+ case "$(uname -s)" in
36
+ Linux|Darwin) : ;;
37
+ *) fail "unsupported operating system: $(uname -s). Linux and macOS are supported." ;;
38
+ esac
39
+
40
+ # The board is pure JavaScript, so there is no per-architecture build and no
41
+ # tarball to pick. What it does need is a Node new enough to run it.
42
+ command -v node >/dev/null 2>&1 || fail "Node 24 or newer is required, and node was not found.
43
+ Debian/Ubuntu: https://github.com/nodesource/distributions
44
+ macOS: brew install node
45
+ Any: https://mise.jdx.dev"
46
+
47
+ NODE_MAJOR=$(node -p 'process.versions.node.split(".")[0]' 2>/dev/null || echo 0)
48
+ if [ "$NODE_MAJOR" -lt 24 ]; then
49
+ fail "Node 24 or newer is required; this is $(node -v).
50
+ agenticjobs runs unbundled ES modules and uses Node 24 APIs."
51
+ fi
52
+
53
+ command -v npm >/dev/null 2>&1 || fail "npm is required (it ships with Node)."
54
+
55
+ SHARE="$PREFIX/share/agenticjobs"
56
+ BIN="$PREFIX/bin"
57
+ mkdir -p "$SHARE" "$BIN"
58
+
59
+ # --- install ------------------------------------------------------------------
60
+
61
+ SPEC="$PKG"
62
+ [ -n "$VERSION" ] && SPEC="$PKG@$VERSION"
63
+
64
+ say "Installing $SPEC into $SHARE ..."
65
+
66
+ # Installed into a private tree rather than globally, so this cannot fight with
67
+ # a system npm prefix, cannot need root, and can be removed by deleting one
68
+ # directory. --omit=dev because nothing here builds from source.
69
+ rm -rf "$SHARE/node_modules" "$SHARE/package.json" "$SHARE/package-lock.json"
70
+ cd "$SHARE"
71
+ printf '{\n "name": "agenticjobs-install",\n "private": true\n}\n' > package.json
72
+ npm install --silent --no-audit --no-fund --omit=dev "$SPEC" >/dev/null 2>&1 ||
73
+ npm install --no-audit --no-fund --omit=dev "$SPEC" ||
74
+ fail "npm could not install $SPEC"
75
+
76
+ PKG_DIR="$SHARE/node_modules/$PKG"
77
+ [ -d "$PKG_DIR" ] || fail "$SPEC installed but $PKG_DIR is missing."
78
+
79
+ INSTALLED=$(node -p "require('$PKG_DIR/package.json').version" 2>/dev/null || echo "unknown")
80
+
81
+ # --- shims --------------------------------------------------------------------
82
+ #
83
+ # Written here rather than symlinked, so the CLI always runs against the copy
84
+ # this installer put down even if npm's own bin links change underneath.
85
+
86
+ for cmd in agenticjobs agenticjobs-mcp; do
87
+ entry="$PKG_DIR/bin/$cmd.mjs"
88
+ [ -f "$entry" ] || fail "$SPEC does not contain bin/$cmd.mjs"
89
+ cat > "$BIN/$cmd" <<SHIM
90
+ #!/bin/sh
91
+ # $cmd. Written by the installer; \`agenticjobs uninstall\` removes it.
92
+ AGENTICJOBS_HOME="$SHARE" exec node "$entry" "\$@"
93
+ SHIM
94
+ chmod 0755 "$BIN/$cmd"
95
+ done
96
+
97
+ # --- what was installed, and how to remove it ---------------------------------
98
+
99
+ PATHS="$BIN/agenticjobs
100
+ $BIN/agenticjobs-mcp
101
+ $SHARE"
102
+
103
+ INSTALLED_AT=$(date -u +%Y-%m-%dT%H:%M:%SZ)
104
+ {
105
+ printf '{\n'
106
+ printf ' "package": "%s",\n' "$PKG"
107
+ printf ' "version": "%s",\n' "$INSTALLED"
108
+ printf ' "installer": "%s/install.sh",\n' "$SITE"
109
+ printf ' "installedAt": "%s",\n' "$INSTALLED_AT"
110
+ printf ' "prefix": "%s",\n' "$PREFIX"
111
+ printf ' "paths": [\n'
112
+ printf '%s\n' "$PATHS" | sed 's/.*/ "&",/' | sed '$ s/,$//'
113
+ printf ' ]\n}\n'
114
+ } > "$SHARE/manifest.json"
115
+
116
+ # Written at install time by the thing that knew exactly what it created, so
117
+ # removal is exact and works with no network. A tool that needs the internet to
118
+ # uninstall itself is one you cannot remove on a plane.
119
+ {
120
+ echo '#!/bin/sh'
121
+ echo '# Removes agenticjobs. Written by the installer.'
122
+ echo '# Your config and your saved logins are NOT touched:'
123
+ echo '# ~/.config/agenticjobs/'
124
+ echo 'set -eu'
125
+ printf '%s\n' "$PATHS" | sed 's|.*|rm -rf "&"|'
126
+ echo 'echo "agenticjobs removed. Your boards and tokens are still in ~/.config/agenticjobs."'
127
+ } > "$SHARE/uninstall.sh"
128
+ chmod 0755 "$SHARE/uninstall.sh"
129
+
130
+ # --- report -------------------------------------------------------------------
131
+
132
+ say ""
133
+ say "Installed agenticjobs $INSTALLED"
134
+ say ""
135
+
136
+ case ":$PATH:" in
137
+ *":$BIN:"*)
138
+ say "Next:"
139
+ say " agenticjobs signup create an account on $SITE"
140
+ say " agenticjobs search rust search it"
141
+ ;;
142
+ *)
143
+ say "$BIN is not on your PATH. Add it:"
144
+ say " echo 'export PATH=\"$BIN:\$PATH\"' >> ~/.profile && . ~/.profile"
145
+ say ""
146
+ say "Or run it directly: $BIN/agenticjobs signup"
147
+ ;;
148
+ esac
149
+
150
+ say ""
151
+ say "Update with \`agenticjobs update\`, remove with \`agenticjobs uninstall\`."
152
+ say "Docs: $SITE/docs"