@officexapp/vidfarm-devcli 0.21.59 → 0.21.61
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/.agents/skills/vidfarm/SKILL.md +2 -2
- package/.agents/skills/vidfarm/references/content-ideas.md +97 -14
- package/SKILL.director.md +99 -16
- package/SKILL.md +3 -1
- package/clipper.md +7 -3
- package/dist/src/cli.js +194 -15
- package/dist/src/devcli/clipper-panel.js +1828 -0
- package/dist/src/devcli/clipper-run.js +635 -126
- package/dist/src/devcli/marketplace-gigs.js +226 -2
- package/dist/src/devcli/skill-docs.js +14 -0
- package/experimental/meme-recaption.md +355 -54
- package/marketplace.md +67 -1
- package/package.json +3 -1
- package/public/assets/homepage-client-app.js +14 -14
package/marketplace.md
CHANGED
|
@@ -269,7 +269,7 @@ Read `private_note` on its own and you know where you stand:
|
|
|
269
269
|
|
|
270
270
|
**Use `not_selected` for a pass on an inbound offer.** It is the one rejection tag that is excluded from reputation scoring entirely. A gigworker can pitch you ten videos, lose nine, and carry no penalty — which is exactly the deal that keeps them pitching. Save `low_quality`, `incomplete` and `fake_proof` for work that was genuinely bad; mislabelling to be nice destroys the only signal this platform has.
|
|
271
271
|
|
|
272
|
-
**Review promptly. Silence is approval.**
|
|
272
|
+
**Review promptly. Silence is NOT approval here.** Both vidfarm vending machines run at `review_timeout: -1`, manual review: no proof auto-approves, and nothing is paid until you approve it. A countdown that pays for you exists on Dollar Platoon generally, but not on these two. The cost of silence is the other one — a gigworker who is never answered is left holding finished work and stops sending it.
|
|
273
273
|
|
|
274
274
|
In the browser the same job is one swipe deck: `https://vidfarm.cc/marketplace/inbound/swipe`. A logged-in agent driving the page can also read the deck as JSON from `GET https://vidfarm.cc/marketplace/buyer/proofs?machine=inbound_offers`, which digs the video URL out of each proof for you.
|
|
275
275
|
|
|
@@ -374,6 +374,52 @@ vidfarm gigs ring-bell --title "Acme wants 7 short-form ads this week" \
|
|
|
374
374
|
|
|
375
375
|
Add `--json` to any of them for a machine-readable answer. `--body <file.json>` sends a whole task payload you built elsewhere. `vidfarm gigs help` lists every flag.
|
|
376
376
|
|
|
377
|
+
### Let clippers name the price — the bid auction
|
|
378
|
+
|
|
379
|
+
`add-task` sets your price and the first free gigworker takes it. Sometimes you would rather ask the
|
|
380
|
+
market what a job is worth — especially for a one-off that does not fit the machine's flat rate.
|
|
381
|
+
|
|
382
|
+
A **bid request** is one task published `view_only`, so nobody can claim it. Clippers post their
|
|
383
|
+
price in its comment thread, you award one, and that **same task** flips to `reserved` for them. One
|
|
384
|
+
record carries the whole lifecycle, so the winner reads the entire negotiation on the job they are
|
|
385
|
+
about to do.
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
vidfarm gigs request-bids --task "30s UGC recaption for a plumbing business" \
|
|
389
|
+
--opening '$0.10' --reference "template_019fd6b0…" --bell
|
|
390
|
+
# → posts a view_only task at price TBD and prints a share link:
|
|
391
|
+
# https://dollarplatoon.com/claim/GIG_01N…/TASK_01M…?invite=<token>
|
|
392
|
+
|
|
393
|
+
vidfarm gigs bids TASK_01M… # who bid, and what they asked
|
|
394
|
+
vidfarm gigs award TASK_01M… --bid TCOMMENT_01M… # reserve it for them, privately
|
|
395
|
+
vidfarm gigs approve PRF_01H… --amount 8.00 # pay what you actually agreed
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
| Flag | |
|
|
399
|
+
|---|---|
|
|
400
|
+
| `--sealed` | Each clipper reads only their own thread. Default is open, so bidders see each other. |
|
|
401
|
+
| `--bell` | Broadcast it to the vidfarm feed. **Off by default** — the task waits quietly in the queue. |
|
|
402
|
+
| `--opening` | Where the auction starts. Default `$0.10`. |
|
|
403
|
+
| `--reference` | A template id the bidders should match. |
|
|
404
|
+
|
|
405
|
+
**The share link carries a gig invite, and that is the point.** DollarPlatoon's plain
|
|
406
|
+
`/task/:gig/:id` page is members-only — a clipper who has never joined sees the gig's join link
|
|
407
|
+
*instead of* your task, with no idea what they were invited to. The `/claim/…?invite=<token>` link
|
|
408
|
+
this command prints turns "you have not joined" into "you are invited", and joining returns them to
|
|
409
|
+
your task. A view-only task simply renders without the Accept button, so the page is the brief plus
|
|
410
|
+
the comment thread: **they join and bid on one page.** Once you award it, that same URL grows the
|
|
411
|
+
Accept button for the winner.
|
|
412
|
+
|
|
413
|
+
⚠️ **A bid task stays priced `TBD` on purpose.** The deal is plain text in the thread, because real
|
|
414
|
+
arrangements ("$5 now $5 on completion", "$12 for three") do not fit a single number. You name the
|
|
415
|
+
agreed amount once, at approval, with `--amount`. **TBD is not $0** — approve a TBD proof without
|
|
416
|
+
`--amount` and it silently pays the machine's base rate, so an $8 bid pays $0.25 and the price locks
|
|
417
|
+
with no way back.
|
|
418
|
+
|
|
419
|
+
The same flow exists over REST for a logged-in browser session:
|
|
420
|
+
`POST /marketplace/buyer/request-template` (from a template in `/discover`),
|
|
421
|
+
`GET /marketplace/buyer/bids/:gigId/:taskId`, and `POST /marketplace/buyer/award-bid`.
|
|
422
|
+
|
|
377
423
|
**`add-task` has no flag for `format_harness` or `reference_template_id` — use `--body`.** Those two
|
|
378
424
|
fields are the ones that decide what a weak-model clipper hands back, so do not drop them just
|
|
379
425
|
because there is no flag:
|
|
@@ -586,6 +632,26 @@ vidfarm clipper-run mode quick-interactive # save the answer into CLIPPER/run
|
|
|
586
632
|
**Quick interactive and full auto + batch review are the two that get used.** Full interactive is the
|
|
587
633
|
rescue mode for a weak model on an unfamiliar buyer; auto-submit is the narrow opt-in.
|
|
588
634
|
|
|
635
|
+
### Then ask the second question: the clipper dashboard (recommended)
|
|
636
|
+
|
|
637
|
+
**Three of the four modes stop to make a human WATCH A VIDEO, and a terminal cannot play one.** So
|
|
638
|
+
offer the clipper dashboard in the same breath as the run mode, and expect a yes:
|
|
639
|
+
|
|
640
|
+
```bash
|
|
641
|
+
vidfarm dashboard # a localhost page over the same CLIPPER/ folder — no key, no network
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
It is the review queue as one page: the cut **playing** and seekable, the buyer's brief rendered
|
|
645
|
+
beside it, the checks as tickable boxes whose unticked items pre-fill the rejection note, the
|
|
646
|
+
shortlist candidates playing side by side (`1`/`2`/`3` to pick), `A`/`C`/`D` to answer, and what is
|
|
647
|
+
submitted and still owed. Every button calls the same `clipper-run` verb, so the page and the
|
|
648
|
+
terminal can never disagree — use both in one session if you like.
|
|
649
|
+
|
|
650
|
+
Record the answer in `MISSION.md` as `dashboard: yes | no`, and never make it a dependency: a
|
|
651
|
+
gigworker who says no, closes the tab or works over SSH loses nothing. `REVIEW_QUEUE.md`,
|
|
652
|
+
`vidfarm clipper-run review` and the `gate` rail are unchanged. Full section:
|
|
653
|
+
`https://vidfarm.cc/agentic-clipper.md` § 3⅘.
|
|
654
|
+
|
|
589
655
|
**The template pick is the highest-leverage human moment in the whole loop, which is why three of the
|
|
590
656
|
four modes put a stop there.** A weak model told to author a format from prose hands back something a
|
|
591
657
|
buyer rejects; the same model handed a *decomposed template to adapt* hands back something they keep
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@officexapp/vidfarm-devcli",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.61",
|
|
4
4
|
"description": "Local bridge for the Vidfarm Trackpad Editor. `vidfarm serve <template_id>` boots the FULL editor on localhost (disk-backed records/storage, free in-process render); edit composition.html on disk (Claude Code, Codex, etc.) and the browser live-morphs it.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"dist/src/devcli/captions.js",
|
|
17
17
|
"dist/src/devcli/clip-store.js",
|
|
18
18
|
"dist/src/devcli/clips.js",
|
|
19
|
+
"dist/src/devcli/clipper-panel.js",
|
|
19
20
|
"dist/src/devcli/clipper-run.js",
|
|
20
21
|
"dist/src/devcli/composition-edit.js",
|
|
21
22
|
"dist/src/devcli/consult.js",
|
|
@@ -116,6 +117,7 @@
|
|
|
116
117
|
"test:qa": "node --import tsx --test test/qa-check.test.ts",
|
|
117
118
|
"test:engine-globals": "node --import tsx --test test/engine-globals.test.ts",
|
|
118
119
|
"test:clipper-run": "node --import tsx --test test/clipper-run.test.ts",
|
|
120
|
+
"test:clipper-panel": "node --import tsx --test test/clipper-panel.test.ts",
|
|
119
121
|
"test:proof-verify": "node --import tsx --test test/proof-verify.test.ts",
|
|
120
122
|
"test:gigs-lifecycle": "node --import tsx --test test/gigs-proof-lifecycle.test.ts",
|
|
121
123
|
"test:update-check": "node --import tsx --test test/update-check.test.ts",
|