@deslop/stash 0.1.1065 → 0.1.1067
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 +1 -1
- package/dist/cli.js +2 -2
- package/dist/{contracts-CoHsVor4.mjs → contracts-D4AmBpkn.mjs} +2244 -204
- package/dist/server.js +11296 -390
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ The CLI saves the entry through the server's RPC, waits until the server has rea
|
|
|
15
15
|
## Server
|
|
16
16
|
|
|
17
17
|
- **Run.** `vp -C apps/stash run preview` builds `dist/server.js` and serves it on `127.0.0.1:5017`; `sudo tailscale serve --bg --https=8443 http://127.0.0.1:5017` publishes it on the tailnet. The tailnet is the only sign-in, so never bind it to `0.0.0.0` on `dev`, which has a public address.
|
|
18
|
-
- **Environment.** `~/.deslop/stash.env` holds the variables in [.env.example](.env.example). `ANTHROPIC_API_KEY` turns tagging on; without it a note fails with the reason.
|
|
18
|
+
- **Environment.** `~/.deslop/stash.env` holds the variables in [.env.example](.env.example). `ANTHROPIC_API_KEY` turns tagging on; without it a note fails with the reason. Tagging uses `claude-haiku-5-5` at high effort through `@effect/ai-anthropic`. `STASH_DATA_DIR` defaults to `~/.deslop/stash`.
|
|
19
19
|
- **Media.** The server runs the `yt-dlp` on `PATH` and downloads the Whisper model into `$XDG_CACHE_HOME/deslop/media` on first use. Published captions win; Whisper `small.en` takes about a quarter of the audio's length, up to two hours of audio. TikTok, X, YouTube and Instagram links go through `yt-dlp`, also when their page could not be read.
|
|
20
20
|
- **Proxy.** When `STASH_PROXY` holds an `http://` proxy URL, every request for a source exits through it: `yt-dlp`, pages, APIs, preview images and the reader. Without it, the server reads with its own address. `{session}` in the URL becomes a new random value for each `yt-dlp` run and each request, so a rotating residential proxy keeps one exit address while a run downloads. A request that a site blocks, or that the exit drops, retries twice from new exit addresses. On `dev` it is the owner's [DataImpulse](https://app.dataimpulse.com) residential plan "stash": pay-as-you-go traffic that never expires, with `__sessid.{session}` after the login.
|
|
21
21
|
- **Sources.** Web pages become Markdown with their headings, lists and link targets. GitHub repositories give their README, issues and pull requests their comments, X posts their long-form articles, and TikTok photo posts every slide. A page that holds no text, such as a JavaScript app or a PDF, goes to the [Jina Reader](https://jina.ai/reader/), which also takes blocked pages; its bot-check pages count as failures.
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --max-old-space-size=16384 --heapsnapshot-near-heap-limit=3 --report-on-fatalerror
|
|
2
|
-
import { $ as Socket, $a as
|
|
2
|
+
import { $ as Socket, $a as forkIn, $d as identity, $i as shutdownUnsafe, $o as tapCause, $t as decodeSync, $u as isSome, Al as make$3, As as isNonEmpty, At as Literal, B as constPing, Bc as fail, Bl as empty$2, Bo as retryOrElse, Bt as String$6, Cl as Service, Cn as toCodecStringTree, D as option, Da as callback, Dc as addFinalizer, Do as onInterrupt, Du as fail$2, Ec as Scope, Ed as format, El as get, Et as FalseLiterals, F as layerJson, Fa as catchTags, Fs as replace, Fu as isSuccess, Gl as findFirst, Go as scoped, Gs as round, Hc as interrupt, Hn as empty, Ho as runForkWith, Ht as TaggedError, Hu as exists, Io as raceFirst, J as spanAttributes, Jo as succeed$1, Ju as fromUndefinedOr, K as getStreamSchemas, Ka as flatMap$1, Ki as end, Kl as findFirstIndex, Kn as merge, Ks as Clock, L as RequestId, La as context, Lc as MinimumLogLevel, Ld as hasProperty, Mo as provide, N as withRunClient, Nl as Prototype, No as provideContext, Oa as catchCause, Oc as addFinalizerExit, Ol as getOrUndefinedUnsafe, P as RpcSerialization, Pa as catchTag, Pi as unwrap, Po as provideService, Pt as NonEmptyArray, Qc as ConsoleRef, Qn as value, Qu as isNone, Ro as result, Ru as succeed$2, Sa as annotateLogs, Sl as Reference, Ss as spaced, St as Defect, Ti as runHead, Tl as empty$1, U as exitSchema, Ua as fail$1, Ul as filter$1, Un as fromInput, Ut as TrueLiterals, Va as ensuring, Vc as failCause$1, Vd as isNotUndefined, Wc as isFailure, Wi as bounded, X as Collector, Xa as forEach, Xi as offerAll, Xo as suspend, Xr as filter, Xt as Union, Y as spanName, Ya as fnUntraced, Yd as constVoid, Yu as getOrElse, Z as makeCollectorUnsafe, Za as forever, Zd as dual, Zn as make$2, Zo as sync$1, Zu as getOrUndefined, _ as QuitError, _d as withFiber$1, _s as withParentSpan, ao as ignoreCause, at as layerWebSocket, au as join, ba as andThen, bn as optionalKey, bo as matchCauseEffect, bs as exponential, c as NotesError, cn as is, co as isEffect, cs as uninterruptibleMask, cu as map$5, dc as squash, do as logError, ds as useSpan, dt as HttpClientErrorSchema, ea as take, ef as pipe, eo as forkScoped, et as SocketError, fs as void_, fu as reduce, g as layer, gl as taggedEnum, go as map$3, gt as ArraySchema, h as errorReported, ho as makeSpanScoped, ia as makeUnsafe, ic as hasInterrupts, id as none, ii as fromQueue, io as ignore, iu as isReadonlyArrayNonEmpty, j as Stdio, ja as catchFilter, ka as catchCauseIf, kl as getUnsafe, ko as orDie, ks as isEmpty, lu as match, m as errorExitCode, mc as effect, ms as withFiber, mu as some$1, nd as map$4, oa as getCurrent, oc as interruptors, ol as sync, oo as interrupt$1, ot as layerWebSocketConstructorGlobal, p as runMain, po as logInfo, ps as whileLoop, q as isStreamSchema, qi as failCause, ql as findLast, qo as serviceOption, rd as match$1, rn as encodeEffect, ro as gen, rs as timeoutOrElse, rt as SocketReadError, sa as interrupt$2, sd as some, so as interruptible, t as RpcContracts, tc as findError, tf as pipeArguments, tn as decodeUnknownEffect, ts as timeout, tt as SocketErrorReason, u as LogToStderr, v as Terminal, vd as assignProperty, vo as mapError, vt as BooleanLiterals, w as String$7, wl as add, wo as onError, wt as Error$1, x as Crypto, xc as provide$1, xl as toMillis, xn as tag, xs as min, y as isQuitError, yn as optional$2, yo as match$2, za as delay, zc as die } from "./contracts-D4AmBpkn.mjs";
|
|
3
3
|
//#region ../../node_modules/.pnpm/effect@4.0.2/node_modules/effect/dist/workers/WorkerError.js
|
|
4
4
|
/**
|
|
5
5
|
* Worker error reason for failures while spawning or setting up a worker.
|
|
@@ -7255,7 +7255,7 @@ const runWith = (command, config) => {
|
|
|
7255
7255
|
};
|
|
7256
7256
|
//#endregion
|
|
7257
7257
|
//#region package.json
|
|
7258
|
-
var version = "0.1.
|
|
7258
|
+
var version = "0.1.1067";
|
|
7259
7259
|
//#endregion
|
|
7260
7260
|
//#region src/main.cli.ts
|
|
7261
7261
|
function section(title, text) {
|