elanous 0.2.11 → 0.2.13
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/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/chunks/{1394-556de6d71bbdb0fb.js → 1394-931c9827067b2276.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/3869-3cd46526879f454c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{3992-2e522a8ac5f2afde.js → 3992-fe5c06d6b31f8b25.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5250-c78ca295585bbf95.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6511-ff8360be3d65aaa4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6588-ba380869b67c4fa7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7758-85c2b53f731da024.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8605-ea5bee9dfae512c7.js → 8605-9da4678f8a310d18.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9906-e7b8b5310a169dfe.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-e5b4e1b256f41076.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/{page-6a061bd97f0b9398.js → page-e49b9b76c565a0b1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-b4f032c893b21cc9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-f14987d5850a31e0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-b433308aad13ceb6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/{page-7c97dcdfe2e37a60.js → page-4c1dbb21861beab2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-c85b816e3b269dbb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/{page-5721537ca8a3598c.js → page-f6bc66b919b2ea7d.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/{page-b654240a572e4c48.js → page-60603c1e056c9b25.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/{page-b9750abc897508c3.js → page-a0ea8f5a2341ee6b.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/page-45c5bf04b4a605e6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/field/page-36c6c4183353ac9e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/inside/page-cb2eb0fd809980da.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/{page-c8b1ccda6ba7ae98.js → page-31012264da8a341f.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/{layout-d6b1d156fb95e74b.js → layout-50309aeb0bdd554a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-bc00e964e855f4df.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/{page-9688f5b4f1ff950f.js → page-0696ee3fac9fe56c.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-66c27608f651b866.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/{page-35414e0a007b4082.js → page-6ddd2109b7fc3a80.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-4e50b7298c1f69a5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/{page-e001823c35c9dd67.js → page-7a2bf830038a2264.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/{page-371423d1a573d64b.js → page-1f327f18694fabca.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/{page-4b764b125339ac17.js → page-e5cef2fe6e4028df.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/{page-cdf8e4b01067bcf1.js → page-cf596128d2b420ba.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/outputs/{page-3a24072b35470157.js → page-f672536f14f0969f.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/page-b52365662232db89.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-e7a6c80f288b1948.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/{page-d37cb0d52f9b6bd5.js → page-29a709616df9b050.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/{page-686da0df9bf23e5c.js → page-fee842d7c2151129.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/{page-4dc614f3ce043e63.js → page-78b40a344ed22f24.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-75d199f448171014.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/{page-d02c782fc792e2af.js → page-a011dd5b0bff29c5.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/{page-239c17b911b84e72.js → page-d92e32d51ab5157e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/share/{page-dc6a79fb003f746c.js → page-5f21aed6932ef375.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/{page-0fffb84cafdc9da6.js → page-1e1a53946804debf.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/{page-1218753c82d585f6.js → page-a1833cd43d832601.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/term/{page-4b5935e67531efb5.js → page-63d14a4d8fe1e1c1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/today/{page-3285bc87caf1eaa5.js → page-2a511d320f762e06.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/{page-ad553b0e06505ecd.js → page-1c3e03f88dac1e21.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/{page-fca096e3e860306f.js → page-c4d5289c2ea97a89.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/{page-9ebfa78f0d9885c3.js → page-b91f8952deaeaf27.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/{page-3dc5f21f7e39622d.js → page-71b43a2588489987.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-2b256feed331546f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-505bb96d69a8622c.js +1 -0
- package/apps/pwa/out/_next/static/css/128fb7fb670b2fbf.css +1 -0
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +14 -14
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +14 -14
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +14 -14
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +14 -14
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +14 -14
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +14 -14
- package/apps/pwa/out/consult/index.html +1 -1
- package/apps/pwa/out/consult/index.txt +14 -14
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +14 -14
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +14 -14
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +14 -14
- package/apps/pwa/out/exec/index.html +1 -1
- package/apps/pwa/out/exec/index.txt +14 -14
- package/apps/pwa/out/field/index.html +1 -1
- package/apps/pwa/out/field/index.txt +14 -14
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +14 -14
- package/apps/pwa/out/inside/index.html +1 -1
- package/apps/pwa/out/inside/index.txt +14 -14
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +14 -14
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +14 -14
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +14 -14
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +14 -14
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +14 -14
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +14 -14
- package/apps/pwa/out/ops/checklist/index.html +1 -1
- package/apps/pwa/out/ops/checklist/index.txt +14 -14
- package/apps/pwa/out/ops/release/index.html +1 -1
- package/apps/pwa/out/ops/release/index.txt +14 -14
- package/apps/pwa/out/ops/seats/index.html +1 -1
- package/apps/pwa/out/ops/seats/index.txt +14 -14
- package/apps/pwa/out/outputs/index.html +1 -1
- package/apps/pwa/out/outputs/index.txt +14 -14
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +15 -15
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +14 -14
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +14 -14
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +14 -14
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +14 -14
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +14 -14
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +14 -14
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +14 -14
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +14 -14
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +14 -14
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +14 -14
- package/apps/pwa/out/today/index.html +1 -1
- package/apps/pwa/out/today/index.txt +14 -14
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +14 -14
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +14 -14
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +14 -14
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +14 -14
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +14 -14
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +14 -14
- package/examples/teams/personas/backend.yaml +4 -0
- package/examples/teams/personas/pm.yaml +4 -0
- package/examples/teams/personas/qa.yaml +4 -0
- package/examples/teams/small-product.yaml +20 -0
- package/graphs/context/nightly-condense.yaml +21 -0
- package/graphs/context/recipes.yaml +12 -0
- package/graphs/demo/inside-seed.yaml +20 -0
- package/graphs/demo/recipes.yaml +12 -0
- package/graphs/lecture/lecture-note.yaml +28 -0
- package/graphs/lecture/recipes.yaml +17 -0
- package/package.json +2 -1
- package/plugins/card-followup/examples/sample-card.png +0 -0
- package/scripts/context-hooks/emit.ts +36 -14
- package/scripts/coord-channel-watch.sh +1 -0
- package/scripts/discord-seat-probe.ts +144 -0
- package/scripts/hq/hq-standby.sh +65 -0
- package/scripts/hq/standby-promote.ts +173 -0
- package/scripts/hq/standby-role.ts +59 -0
- package/scripts/hq/standby-snapshot.ts +226 -0
- package/scripts/hq/standby-verify.ts +219 -0
- package/scripts/lecture-note/node.ts +256 -0
- package/scripts/lib/telegram-inject-args.ts +31 -0
- package/scripts/measure-pod-memory-by-goal.ts +130 -0
- package/scripts/release-loop/auto-approve-node.ts +1 -1
- package/scripts/release-loop/checklist-gate-node.ts +2 -1
- package/scripts/release-loop/gate-node.ts +61 -17
- package/scripts/release-loop/ops-upgrade-node.ts +59 -6
- package/scripts/release-loop/publish-node.ts +4 -1
- package/scripts/release-loop/version-node.ts +13 -3
- package/scripts/telegram-inject.ts +14 -6
- package/scripts/test-deterministic.ts +53 -3
- package/scripts/test-diet/remeasure-list.ts +112 -0
- package/scripts/ux/demo-rehearsal.ts +17 -13
- package/scripts/ux/demo-seed.ts +108 -0
- package/scripts/ux/lib/rehearsal-verdict.ts +12 -5
- package/skills/omni-crawl/SKILL.md +16 -16
- package/skills/omni-crawl/package-lock.json +1 -544
- package/skills/omni-crawl/package.json +3 -4
- package/skills/omni-crawl/scripts/main.ts +13 -13
- package/skills/omni-crawl/scripts/monitor.ts +8 -8
- package/skills/omni-crawl/src/apify.ts +13 -2
- package/skills/omni-crawl/src/capture.ts +6 -0
- package/skills/omni-crawl/src/registry.ts +2 -2
- package/skills/omni-crawl/src/stdout-json.ts +4 -0
- package/skills/omni-digest/SKILL.md +10 -11
- package/skills/omni-digest/package-lock.json +0 -545
- package/skills/omni-digest/package.json +2 -5
- package/skills/omni-digest/scripts/main.ts +3 -3
- package/skills/omni-digest/src/delegate.ts +5 -5
- package/skills/omni-digest/src/fetch.ts +2 -2
- package/skills/omni-digest/src/media.ts +25 -11
- package/skills/omni-digest/src/visual.ts +3 -2
- package/skills/omni-market/scripts/main.ts +1 -1
- package/skills/omni-market/scripts/stdout-json.ts +4 -0
- package/src/agent/identity-env.ts +11 -0
- package/src/agent-mission/driver.ts +150 -23
- package/src/agent-mission/duo.ts +94 -0
- package/src/agent-mission/pty-decision.ts +2 -2
- package/src/autopilot/pty-control-loop.ts +4 -1
- package/src/autopilot/track-agent-shadow.ts +2 -1
- package/src/autopilot/track-agent.ts +4 -1
- package/src/boot/daemon-prompt-request.ts +3 -0
- package/src/boot/daemon-prompt-turn.ts +6 -2
- package/src/boot/daemon-runtime.ts +48 -16
- package/src/chat/index.ts +1 -0
- package/src/cli/decisions-cli.ts +51 -19
- package/src/cli/outputs-cli.ts +92 -0
- package/src/cli/persona-cli.ts +45 -13
- package/src/cli/pod-cli.ts +27 -3
- package/src/cli/pod-memory-advice.ts +35 -0
- package/src/cli/pr-cli.ts +15 -1
- package/src/cli/release-cli.ts +135 -15
- package/src/context-bus/condense.ts +194 -0
- package/src/context-bus/context-day.ts +82 -0
- package/src/context-bus/context-now-surfaces.ts +32 -2
- package/src/context-bus/context-now.ts +2 -2
- package/src/context-bus/coord-events.ts +2 -2
- package/src/context-bus/long-term-memory.ts +118 -22
- package/src/context-bus/nightly-condense.ts +153 -0
- package/src/context-bus/session-events.ts +35 -0
- package/src/dashboard/dashboard-status-lines.ts +2 -0
- package/src/dashboard/index.ts +8 -0
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +24 -0
- package/src/decisions/decision-cards.ts +13 -7
- package/src/decisions/decision-ledger.ts +43 -17
- package/src/domains/outbound-alert.ts +99 -31
- package/src/domains/outbound-log-probe.ts +8 -0
- package/src/execution-loop/launch-gate.ts +17 -8
- package/src/field-note/telegram.ts +142 -0
- package/src/graph-kinds/registry.ts +2 -2
- package/src/graph-runner/graph-approval-card.ts +2 -2
- package/src/graph-runner/graph-grow-llm.ts +23 -13
- package/src/graph-runner/graph-grow.ts +69 -13
- package/src/graph-runner/graph-tick.ts +9 -2
- package/src/graph-runner/runner.ts +92 -24
- package/src/harness/harness-cli-command.ts +165 -17
- package/src/harness/harness-queue-child.ts +37 -0
- package/src/harness/harness-queue.ts +306 -0
- package/src/hooks/consult-intake.ts +153 -0
- package/src/hooks/github-shadow.ts +72 -2
- package/src/hooks/receiver.ts +82 -3
- package/src/hq/hq.ts +318 -0
- package/src/hq/lease.ts +210 -0
- package/src/hq/ledger-write-target.ts +41 -0
- package/src/index.ts +232 -16
- package/src/intake-plane/discord-seat-work.ts +36 -3
- package/src/intake-plane/linear-wish.ts +44 -0
- package/src/intake-plane/persona-answer.ts +5 -0
- package/src/intake-plane/telegram-seat-work.ts +13 -6
- package/src/intake-plane/wish-card.ts +33 -0
- package/src/llm/difficulty.ts +1 -1
- package/src/loops/checker.ts +178 -0
- package/src/loops/loop-cli.ts +37 -3
- package/src/loops/observe.ts +49 -0
- package/src/loops/orchestrator/overlap.ts +141 -0
- package/src/loops/orchestrator/traffic.ts +150 -0
- package/src/loops/package/verify.ts +125 -0
- package/src/loops/verdict.ts +22 -0
- package/src/maturity/feature-maturity.ts +5 -4
- package/src/memory.ts +37 -4
- package/src/nexus/api/card-followup-route.ts +118 -0
- package/src/nexus/api/decisions-route.ts +68 -0
- package/src/nexus/api/http-server.ts +78 -8
- package/src/nexus/api/outbound-report.ts +40 -7
- package/src/nexus/api/personas.ts +97 -54
- package/src/nexus/api/skill-exec-route.ts +97 -0
- package/src/nexus/api/task-cards-api.ts +19 -0
- package/src/nexus/api/workflow-history.ts +88 -0
- package/src/nexus/api/workflows.ts +52 -0
- package/src/nexus/outbound/delivery-ledger.ts +17 -8
- package/src/nexus/outbound/router.ts +8 -3
- package/src/persona/loader.ts +18 -0
- package/src/persona/persona-todo.ts +14 -9
- package/src/persona/presets.ts +10 -2
- package/src/persona/team.ts +105 -0
- package/src/persona/types.ts +4 -0
- package/src/plugins/maker/market-bundle.ts +2 -1
- package/src/pod-lease/host-lease.ts +130 -20
- package/src/release-loop/checklist.ts +15 -3
- package/src/release-loop/feature-store.ts +24 -10
- package/src/release-loop/landed-but-yellow.ts +60 -0
- package/src/seat-dispatch/seat-ask.ts +57 -12
- package/src/seat-loop/seat-loop.ts +253 -18
- package/src/seat-loop/seat-pack.ts +127 -0
- package/src/self-dev/ask-launch-flow.ts +3 -0
- package/src/self-dev/draft-sweep.ts +44 -10
- package/src/self-dev/draft-triage-rules.ts +54 -2
- package/src/self-implement/budget-gate.ts +29 -12
- package/src/self-implement/gate-candidate-ranking.ts +60 -0
- package/src/self-implement/gate-scope.ts +9 -8
- package/src/self-implement/headless-elanous-driver.ts +7 -2
- package/src/self-implement/l8-merge-queue.ts +157 -1
- package/src/self-implement/orchestrator.ts +15 -0
- package/src/self-implement/test-seams.ts +1 -0
- package/src/steward/launch.ts +5 -1
- package/src/steward/readiness.ts +125 -0
- package/src/steward/rescue.ts +75 -0
- package/src/steward/triage.ts +48 -9
- package/src/task-cards/card-cli.ts +78 -0
- package/src/task-orchestrator/surfaces/pod-command-job.ts +14 -10
- package/src/task-orchestrator/surfaces/pod-lease.ts +18 -6
- package/src/task-orchestrator/surfaces/pod-pool.ts +27 -10
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +46 -8
- package/src/telegram-commands.ts +21 -0
- package/src/telegram-dispatch-forward.ts +1 -1
- package/src/telegram-fabric-plan.ts +90 -0
- package/src/telegram-project-command.ts +84 -4
- package/src/telegram.ts +37 -5
- package/src/tool-runtime/elanous-control-runtimes.ts +2 -1
- package/src/user-config.ts +101 -13
- package/src/version/packed-revision.json +1 -1
- package/src/workflow-runtime/executor.ts +4 -0
- package/src/workflow-runtime/node-catalog.ts +13 -0
- package/src/workflow-runtime/nodes/knowledge.ts +38 -0
- package/src/workflow-runtime/schema.ts +17 -1
- package/src/workflow-runtime/types.ts +13 -1
- package/apps/pwa/out/_next/static/chunks/2310-7a59f043f6db207e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2548-6e316138d347cefe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3869-a39d1d9921e10d43.js +0 -1
- package/apps/pwa/out/_next/static/chunks/507-5acd98bd6dab2d8a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5445-745eb795c5963d79.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9906-482c6619b3fdda20.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-1dcdc58fc2de2454.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-cb95a7432c9ee744.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-b12b6d2f8d2d1aea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-b9efe868bfd36255.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-8fd36984f549270a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/page-4cd1de371f8ad048.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-d99f89657828421c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-50cb2a0eb15e6c83.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-2a9932ddb62d76bd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-6b15dd6456c5df09.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-e7a529e0507ac86c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-94c82eb0ae5abb32.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-0be8d4b2ced75ba0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-53f80edc6b8dc07c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-c6da2b468454532d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-93bc70e36f595414.js +0 -1
- package/apps/pwa/out/_next/static/css/543f56bcb1f79fca.css +0 -1
- /package/apps/pwa/out/_next/static/{Y4zKzL62sakG5momz3SoQ → D51l8jUBplJrIpWvENsDK}/_buildManifest.js +0 -0
- /package/apps/pwa/out/_next/static/{Y4zKzL62sakG5momz3SoQ → D51l8jUBplJrIpWvENsDK}/_ssgManifest.js +0 -0
|
@@ -6,11 +6,10 @@
|
|
|
6
6
|
"node": ">=20"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"start": "
|
|
10
|
-
"test": "
|
|
9
|
+
"start": "bun scripts/main.ts",
|
|
10
|
+
"test": "bun scripts/main.ts --self-test"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
|
-
"@types/node": "^26.1.1"
|
|
14
|
-
"tsx": "^4"
|
|
13
|
+
"@types/node": "^26.1.1"
|
|
15
14
|
}
|
|
16
15
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
2
|
// omni-crawl — 통합 검색/크롤링 (2026-07-06 재편: tavily+firecrawl REST+grok 역할분담)
|
|
3
3
|
//
|
|
4
4
|
// CLI 계약 (asset-attractiveness·research-bridge가 의존 — 절대 유지):
|
|
5
|
-
//
|
|
5
|
+
// bun main.ts "<query>" [--engine e1,e2] [--print] → exit 0 + 마크다운 마커
|
|
6
6
|
import { parseArgs } from 'node:util';
|
|
7
7
|
import { initEnv } from '../src/env.js';
|
|
8
8
|
import { decideCrawl } from '../src/router.js';
|
|
@@ -14,7 +14,7 @@ import { chromeAvailable } from '../src/capture.js';
|
|
|
14
14
|
import { runRegisteredEngine, type EngineCtx } from '../src/registry.js';
|
|
15
15
|
import { renderMarkdown, saveMarkdown, renderSourcesSection } from '../src/render.js';
|
|
16
16
|
import type { CrawlResult, CrawlItem, SearchEngine } from '../src/types.js';
|
|
17
|
-
import { writeStdoutJson } from '
|
|
17
|
+
import { writeStdoutJson } from '../src/stdout-json.js';
|
|
18
18
|
|
|
19
19
|
initEnv();
|
|
20
20
|
|
|
@@ -502,8 +502,8 @@ function printHelp() {
|
|
|
502
502
|
console.log(`
|
|
503
503
|
omni-crawl — 통합 검색/크롤링 (tavily + firecrawl REST + grok + apify 역할분담)
|
|
504
504
|
|
|
505
|
-
사용법:
|
|
506
|
-
|
|
505
|
+
사용법: bun scripts/main.ts "<검색어>" [OPTIONS]
|
|
506
|
+
bun scripts/main.ts --health # 전 엔진 라이브 진단
|
|
507
507
|
|
|
508
508
|
역할: 일반 웹=tavily · 뉴스=tavily-news+fc-news · 크롤/스크랩=firecrawl(REST)
|
|
509
509
|
커뮤니티/X/레딧=grok · 트윗 벌크=apify · 딥리서치=--mode deep
|
|
@@ -532,13 +532,13 @@ omni-crawl — 통합 검색/크롤링 (tavily + firecrawl REST + grok + apify
|
|
|
532
532
|
--self-test 라우팅 회귀 테스트
|
|
533
533
|
|
|
534
534
|
예시:
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
535
|
+
bun scripts/main.ts "Samsung HBM4 경쟁력" --print # tavily 기본
|
|
536
|
+
bun scripts/main.ts "삼성전자 뉴스" --time-range day --print # 뉴스 (오늘)
|
|
537
|
+
bun scripts/main.ts "SK하이닉스 전망" --mode deep --print # 딥리서치+인용
|
|
538
|
+
bun scripts/main.ts "AI 트렌드" --free --print # 무료 티어(ddg)
|
|
539
|
+
bun scripts/main.ts "https://news.samsung.com" --engine capture # 스크린샷
|
|
540
|
+
bun scripts/main.ts "bitcoin outlook" --engine apify --min-favs 50 --print
|
|
541
|
+
bun scripts/main.ts "https://news.samsung.com" --engine fc-crawl # 사이트 크롤
|
|
542
|
+
bun scripts/main.ts "NVDA earnings" --json # 파이프라인 소비
|
|
543
543
|
`);
|
|
544
544
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
2
|
// omni-crawl monitor — Firecrawl Monitors 관리 CLI (specs/firecrawl/monitor-*.md 기준)
|
|
3
3
|
//
|
|
4
4
|
// 페이지 변경감지 모니터(뉴스룸/IR/공시 등)를 생성·조회·삭제한다.
|
|
@@ -7,18 +7,18 @@
|
|
|
7
7
|
// /v1/outbound(텔레그램)로 발송한다. 여기는 셋업/디버그 표면.
|
|
8
8
|
//
|
|
9
9
|
// 사용:
|
|
10
|
-
//
|
|
10
|
+
// bun scripts/monitor.ts create --name "삼성 뉴스룸" --urls "https://news.samsung.com/kr" \
|
|
11
11
|
// --schedule "every 1 hours" --goal "새 기사/공지 등장 시 알림"
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
12
|
+
// bun scripts/monitor.ts list
|
|
13
|
+
// bun scripts/monitor.ts checks <monitorId> [--limit 5]
|
|
14
|
+
// bun scripts/monitor.ts check <monitorId> <checkId>
|
|
15
|
+
// bun scripts/monitor.ts run <monitorId> # 즉시 1회 체크
|
|
16
|
+
// bun scripts/monitor.ts delete <monitorId>
|
|
17
17
|
|
|
18
18
|
import { parseArgs } from 'node:util';
|
|
19
19
|
import { initEnv, env } from '../src/env.js';
|
|
20
20
|
import { validatePublicHttpUrl } from '../src/url-safety.js';
|
|
21
|
-
import { writeStdoutJson } from '
|
|
21
|
+
import { writeStdoutJson } from '../src/stdout-json.js';
|
|
22
22
|
|
|
23
23
|
initEnv();
|
|
24
24
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** Apify tweet-scraper — absorbed from apify-x-asset-sentiment (Python → TypeScript) */
|
|
2
2
|
|
|
3
|
-
import { requireEnv } from './env.js';
|
|
4
3
|
import type { CrawlResult, CrawlItem } from './types.js';
|
|
5
4
|
|
|
6
5
|
const ENDPOINT = 'https://api.apify.com/v2/acts/apidojo~tweet-scraper/run-sync-get-dataset-items';
|
|
@@ -21,8 +20,20 @@ function buildSearchTerms(query: string, lang: string, addDefaults: boolean): st
|
|
|
21
20
|
return `${query} ${suffix}`.trim();
|
|
22
21
|
}
|
|
23
22
|
|
|
23
|
+
let missingApifyReported = false;
|
|
24
|
+
|
|
25
|
+
export function apifyAvailable(): boolean {
|
|
26
|
+
if (process.env.APIFY_TOKEN) return true;
|
|
27
|
+
if (!missingApifyReported) {
|
|
28
|
+
missingApifyReported = true;
|
|
29
|
+
console.error('Apify 없음 — X 트윗 벌크 수집 빠짐 · APIFY_TOKEN 설정하면 벌크 검색 켜짐');
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
|
|
24
34
|
export async function searchApifyTweets(opts: ApifySearchOpts): Promise<CrawlResult> {
|
|
25
|
-
|
|
35
|
+
if (!apifyAvailable()) return { engine: 'apify', query: opts.query, items: [], totalItems: 0 };
|
|
36
|
+
const token = process.env.APIFY_TOKEN!;
|
|
26
37
|
const url = `${ENDPOINT}?token=${token}`;
|
|
27
38
|
|
|
28
39
|
const lang = opts.lang || 'en';
|
|
@@ -25,6 +25,8 @@ const CHROME_CANDIDATES = [
|
|
|
25
25
|
'/usr/bin/chromium-browser',
|
|
26
26
|
];
|
|
27
27
|
|
|
28
|
+
let missingChromeReported = false;
|
|
29
|
+
|
|
28
30
|
function findChrome(): string | null {
|
|
29
31
|
const override = env('OMNI_CRAWL_CHROME');
|
|
30
32
|
if (override && existsSync(override)) return override;
|
|
@@ -76,6 +78,10 @@ export async function captureScreenshot(url: string, opts?: CaptureOpts): Promis
|
|
|
76
78
|
|
|
77
79
|
// 1순위: headless Chrome 셸아웃
|
|
78
80
|
const chrome = findChrome();
|
|
81
|
+
if (!chrome && !missingChromeReported) {
|
|
82
|
+
missingChromeReported = true;
|
|
83
|
+
console.error('Chrome 없음 — 로컬 스크린샷 빠짐 · 설치하면 headless 캡처 켜짐 (CDP 폴백은 계속)');
|
|
84
|
+
}
|
|
79
85
|
if (chrome) {
|
|
80
86
|
console.log(` [capture] headless Chrome 렌더: ${url}`);
|
|
81
87
|
const args = [
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import type { CrawlResult, CrawlItem, SearchEngine } from './types.js';
|
|
13
13
|
import { searchTavily } from './tavily.js';
|
|
14
14
|
import { searchFirecrawl, searchDeveloperFirecrawl, agentFirecrawl, mapFirecrawl, crawlSiteFirecrawl } from './firecrawl.js';
|
|
15
|
-
import { searchApifyTweets } from './apify.js';
|
|
15
|
+
import { searchApifyTweets, apifyAvailable } from './apify.js';
|
|
16
16
|
import { searchGrok } from './grok-search.js';
|
|
17
17
|
import { searchDdg } from './free.js';
|
|
18
18
|
import { captureScreenshot } from './capture.js';
|
|
@@ -122,7 +122,7 @@ const DESCRIPTORS: EngineDescriptor[] = [
|
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
124
|
id: 'apify', capability: 'tweets', tier: 'paid',
|
|
125
|
-
available:
|
|
125
|
+
available: apifyAvailable,
|
|
126
126
|
run: (q, c) => searchApifyTweets({ query: q, minFavs: c.minFavs, maxItems: c.maxItems, lang: c.lang }),
|
|
127
127
|
},
|
|
128
128
|
{ id: 'grok-x', capability: 'community', tier: 'paid', available: () => hasKey('XAI_API_KEY'), run: (q) => searchGrok({ query: q, mode: 'x' }) },
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Write JSON output completely before the process can exit. (Kept inside the skill so the skill runs outside this repository — public pack and lite Pod.) */
|
|
2
|
+
export async function writeStdoutJson(text: string): Promise<void> {
|
|
3
|
+
await new Promise<void>((resolve, reject) => process.stdout.write(text, error => error ? reject(error) : resolve()));
|
|
4
|
+
}
|
|
@@ -80,26 +80,26 @@ URL (X, YouTube, 웹, GitHub) 또는 파일 (PDF, DOCX, 이미지) + 요약/정
|
|
|
80
80
|
이 스킬 폴더에서 실행합니다.
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
|
|
83
|
+
bun scripts/main.ts "<INPUT>" --message "<의도>" --print
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
### 예시
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
89
|
# X 포스트 카드형 요약
|
|
90
|
-
|
|
90
|
+
bun scripts/main.ts "https://x.com/user/status/123" --print
|
|
91
91
|
|
|
92
92
|
# 웹 아티클 상세 + 다이어그램
|
|
93
|
-
|
|
93
|
+
bun scripts/main.ts "https://example.com" --format rich --diagram --print
|
|
94
94
|
|
|
95
95
|
# GitHub PR + Obsidian + 웹 동시
|
|
96
|
-
|
|
96
|
+
bun scripts/main.ts "https://github.com/o/r/pull/42" --target obsidian,web --print
|
|
97
97
|
|
|
98
98
|
# PDF OCR + 요약
|
|
99
|
-
|
|
99
|
+
bun scripts/main.ts "/path/to/scan.pdf" --print
|
|
100
100
|
|
|
101
101
|
# 이미지 OCR + 요약
|
|
102
|
-
|
|
102
|
+
bun scripts/main.ts "photo.png" --print
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
## 옵션
|
|
@@ -236,13 +236,13 @@ X API media.variants → 최저 비트레이트 MP4 → ffmpeg 오디오 추출
|
|
|
236
236
|
|
|
237
237
|
```bash
|
|
238
238
|
# sum 모드: summarize 추출 → Grok 요약
|
|
239
|
-
|
|
239
|
+
bun scripts/main.ts "https://example.com" -m "sum 요약" --print
|
|
240
240
|
|
|
241
241
|
# sum full 모드: summarize CLI가 추출+요약 모두 (Grok 스킵)
|
|
242
|
-
|
|
242
|
+
bun scripts/main.ts "https://example.com" -m "sum full" --print
|
|
243
243
|
|
|
244
244
|
# 기본 모드 (summarize는 firecrawl 폴백으로 동작)
|
|
245
|
-
|
|
245
|
+
bun scripts/main.ts "https://example.com" --print
|
|
246
246
|
```
|
|
247
247
|
|
|
248
248
|
### summarize CLI 설치
|
|
@@ -263,6 +263,5 @@ summarize --help
|
|
|
263
263
|
|
|
264
264
|
```bash
|
|
265
265
|
cd <installed-skill-folder>
|
|
266
|
-
|
|
267
|
-
npx tsx scripts/main.ts --self-test
|
|
266
|
+
bun scripts/main.ts --self-test
|
|
268
267
|
```
|