@cloudglue/tinycloud 0.3.10 → 0.3.12
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
CHANGED
|
@@ -17,11 +17,11 @@ The npm package is a small launcher: on first run it downloads the matching
|
|
|
17
17
|
platform distribution from Cloudglue's CDN (cached under
|
|
18
18
|
`~/.tinycloud/versions/<version>/`), verifies its checksum, and execs the real
|
|
19
19
|
binary. The package version pins the binary version, so
|
|
20
|
-
`npx @cloudglue/tinycloud@0.3.
|
|
20
|
+
`npx @cloudglue/tinycloud@0.3.12` always runs tinycloud 0.3.12. It also adds two
|
|
21
21
|
wrapper commands:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
tinycloud install --version 0.3.
|
|
24
|
+
tinycloud install --version 0.3.12 # pre-download a version
|
|
25
25
|
tinycloud install --latest # install latest stable and pin to it
|
|
26
26
|
tinycloud update # move to latest stable, prune old versions
|
|
27
27
|
```
|
package/package.json
CHANGED
|
@@ -39,10 +39,11 @@ connector?" or an envelope field needs explaining.
|
|
|
39
39
|
`library collections show <col>` until every `files[].status` is `completed`
|
|
40
40
|
before querying.
|
|
41
41
|
- **Data connector** — a linked external source of recordings (Zoom, Grain,
|
|
42
|
-
Google Drive, Dropbox,
|
|
43
|
-
lists, browses (`files`, with provider-specific filters
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
Gong, Recall, Google Drive, Dropbox, S3/GCS). `tinycloud library connectors …`
|
|
43
|
+
lists, browses (`files`, with provider-specific filters; rows carry provider
|
|
44
|
+
metadata on 0.3.11+), peeks one item's provider metadata without syncing
|
|
45
|
+
(`inspect`, 0.3.11+), and syncs individual items by URI
|
|
46
|
+
(e.g. `grain://recording/<id>`) so they become Cloudglue files.
|
|
46
47
|
- **Source** — anything a verb accepts as input: a local path, URL,
|
|
47
48
|
`cloudglue://files/<id>` URI, connector URI, collection, or a bare file-id
|
|
48
49
|
UUID (normalized to `cloudglue://files/<id>`; an existing local path of the
|
|
@@ -70,7 +71,8 @@ connector?" or an envelope field needs explaining.
|
|
|
70
71
|
(`status`, `data`, `ref`, `meta`, `error`, …). The machine contract; see
|
|
71
72
|
reference/envelope.md.
|
|
72
73
|
- **Watch context / describe** — the reusable analysis `tinycloud watch`
|
|
73
|
-
produces (summary, segments
|
|
74
|
+
produces (summary, segments with their spoken utterances inlined as
|
|
75
|
+
`speech[]`, transcript-ish context). Cached locally and
|
|
74
76
|
mirrored in Cloudglue, so later `extract`/`ask`/`search` reuse it instead
|
|
75
77
|
of re-analyzing.
|
|
76
78
|
- **See / image describe (0.3.7+)** — the image counterpart of `watch`:
|
|
@@ -54,7 +54,7 @@ Flags shared by most verbs are listed once at the bottom.
|
|
|
54
54
|
tinycloud watch <source> [--segment uniform:20|chapters|shots|segments]
|
|
55
55
|
[--shot-min-seconds <s>] [--shot-max-seconds <s>]
|
|
56
56
|
[--profile default|light|custom] [--speech-only | --visual-only]
|
|
57
|
-
[--start <t>] [--end <t>] [--transcript] [--content]
|
|
57
|
+
[--start <t>] [--end <t>] [--transcript] [--content]
|
|
58
58
|
[--background]
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -65,6 +65,20 @@ bounds are part of the cache key, so tuned and default shot passes never
|
|
|
65
65
|
collide. `watch` is **video/audio only** — point it at an image and it errors
|
|
66
66
|
("watch analyzes video/audio; for an image use `tinycloud see`").
|
|
67
67
|
|
|
68
|
+
Segments carry the spoken words (0.3.12+): each segment (and embedded shot)
|
|
69
|
+
inlines its overlapping utterances as `speech: string[]`. A source with
|
|
70
|
+
speech but no visual segmentation — an audio file, `--speech-only`, a very
|
|
71
|
+
short or windowed source — gets uniform 20s speech segments synthesized
|
|
72
|
+
(`"segmentation": "uniform:20"`) instead of an empty `segments` list. Caches
|
|
73
|
+
written by older versions heal automatically on the next watch or search.
|
|
74
|
+
|
|
75
|
+
`--transcript` adds the full transcript as `data.transcript` (speaker-labeled
|
|
76
|
+
when more than one speaker); `--content` inlines the complete describe
|
|
77
|
+
markdown as `data.content`. Both are derived per invocation — they don't
|
|
78
|
+
change the cache key and are served on cache hits, so asking for them never
|
|
79
|
+
re-runs an analysis. `--json-index` was removed in 0.3.12 (it had long been a
|
|
80
|
+
no-op; passing it now errors as an unknown flag).
|
|
81
|
+
|
|
68
82
|
### see — analyze an image (cloud, 0.3.7+)
|
|
69
83
|
|
|
70
84
|
```bash
|
|
@@ -122,6 +136,9 @@ tinycloud search "<keyword>" [--in <paths|source-ids|collection-ids|all>]
|
|
|
122
136
|
|
|
123
137
|
Searches cached context locally, including cached `see` image results (0.3.7+),
|
|
124
138
|
so a describe you've already run is greppable without another cloud call.
|
|
139
|
+
`--field speech` matches the utterances inlined on cached watch segments —
|
|
140
|
+
including speech-only/audio watches (0.3.12+; older cache entries heal in
|
|
141
|
+
place during the scan, nothing is re-billed).
|
|
125
142
|
|
|
126
143
|
### probe — semantic search (cloud)
|
|
127
144
|
|
|
@@ -206,6 +223,7 @@ tinycloud library collections delete <col_id> --json
|
|
|
206
223
|
tinycloud library collections entities <col_id> <source> [--limit <n>] [--offset <n>] --json # read a video's entities
|
|
207
224
|
tinycloud library connectors list --json
|
|
208
225
|
tinycloud library connectors files <connector-id> [--limit 25] [--page-token <t>] --json
|
|
226
|
+
tinycloud library connectors inspect [<connector-id>] <uri-or-share-link> --json # metadata peek, no file created (0.3.11+)
|
|
209
227
|
tinycloud library connectors sync [<connector-id>] <uri-share-link-or-public-url> --json
|
|
210
228
|
```
|
|
211
229
|
|
|
@@ -250,17 +268,32 @@ Dropbox file share links sync server-side via the connector's OAuth
|
|
|
250
268
|
(including login-gated links); `zoom.us/rec/share` links resolve best-effort
|
|
251
269
|
(Zoom mints a new token per copy — the recording-detail link is the reliable
|
|
252
270
|
form). Link warnings are advisory and surface in `data.warnings` rather than
|
|
253
|
-
blocking the sync.
|
|
271
|
+
blocking the sync. Synced files carry provider `source_metadata` (title,
|
|
272
|
+
participants, summary) for Grain, Zoom, Recall, Google Drive, Dropbox, and
|
|
273
|
+
Gong. Non-connector public URLs (direct media URLs, TikTok,
|
|
254
274
|
Loom, public Dropbox links without a connector) sync into a standalone
|
|
255
275
|
Cloudglue file via direct URL ingestion — same command, no connector needed.
|
|
256
276
|
YouTube URLs cannot sync; use `tinycloud grab` instead.
|
|
257
277
|
|
|
258
278
|
`connectors files` also takes provider-specific filters: `--from`/`--to`
|
|
259
|
-
(Zoom
|
|
260
|
-
`--
|
|
261
|
-
(
|
|
279
|
+
(dates — every provider except S3/GCS; Zoom and Gong default to the last
|
|
280
|
+
6 months), `--folder-id` (Google Drive), `--path` (Dropbox),
|
|
281
|
+
`--bucket`/`--prefix` (S3/GCS — bucket required), `--title-search` (Grain,
|
|
282
|
+
Zoom, Google Drive, Dropbox, Gong), `--team`/`--meeting-type` (Grain).
|
|
283
|
+
Filters a provider can't honor are ignored, and filtered pages can come back
|
|
284
|
+
short or even empty while more remain — keep paging until `next_page_token`
|
|
285
|
+
is null. On 0.3.11+ each row also carries provider `metadata` (participants,
|
|
286
|
+
host, duration, AI summary) when the source exposes it — use it to pick files
|
|
287
|
+
before syncing. Collection IDs (`col_…`) are stable; collection names are
|
|
262
288
|
display-only.
|
|
263
289
|
|
|
290
|
+
`connectors inspect <uri>` (0.3.11+, feature `library.connectors.inspect.v1`)
|
|
291
|
+
returns one item's provider `source_metadata` WITHOUT materializing a file —
|
|
292
|
+
same URI/share-link forms as sync, connector id optional. S3/GCS objects have
|
|
293
|
+
nothing richer to inspect. On older binaries it fails with an unknown-command
|
|
294
|
+
error — fall back to `connectors sync` (idempotent) and read
|
|
295
|
+
`source_metadata` from the sync envelope instead.
|
|
296
|
+
|
|
264
297
|
### jobs — async work
|
|
265
298
|
|
|
266
299
|
```bash
|
|
@@ -9,11 +9,11 @@ set -u
|
|
|
9
9
|
|
|
10
10
|
# Mirror tinycloud-skill.json: min_version / supported_range upper bound
|
|
11
11
|
# (CI diffs these against the manifest).
|
|
12
|
-
MIN_VERSION="0.3.
|
|
12
|
+
MIN_VERSION="0.3.12"
|
|
13
13
|
MAX_VERSION_EXCLUSIVE="0.4.0"
|
|
14
14
|
INSTALL_CMD='curl -fsSL https://app.cloudglue.dev/tinycloud.sh | bash'
|
|
15
15
|
# Kept in sync with ../tinycloud-skill.json required_features (CI diffs them).
|
|
16
|
-
REQUIRED_FEATURES="envelope.v1 watch.v1 see.v1 extract.v1 extract.images.v1 caption.v1 search.v1 probe.v1 ask.v1 clip.v1 grab.v1 face.v1 jobs.v1 library.collections.v1 library.collections.create.v1 library.collections.mutate.v1 library.collections.entities.v1 library.sync.url.v1 workflow.v1 publish.v1 publish.manage.v1 publish.video.v1 setup.v1"
|
|
16
|
+
REQUIRED_FEATURES="envelope.v1 watch.v1 watch.speech.v1 see.v1 extract.v1 extract.images.v1 caption.v1 search.v1 probe.v1 ask.v1 clip.v1 grab.v1 face.v1 jobs.v1 library.collections.v1 library.collections.create.v1 library.collections.mutate.v1 library.collections.entities.v1 library.sync.url.v1 workflow.v1 publish.v1 publish.manage.v1 publish.video.v1 setup.v1"
|
|
17
17
|
|
|
18
18
|
# 1) Binary present and responsive?
|
|
19
19
|
if ! command -v tinycloud >/dev/null 2>&1; then
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"skill_version": "0.3.
|
|
2
|
+
"skill_version": "0.3.12",
|
|
3
3
|
"tinycloud": {
|
|
4
|
-
"min_version": "0.3.
|
|
5
|
-
"supported_range": ">=0.3.
|
|
4
|
+
"min_version": "0.3.12",
|
|
5
|
+
"supported_range": ">=0.3.12 <0.4.0",
|
|
6
6
|
"required_features": [
|
|
7
7
|
"envelope.v1",
|
|
8
8
|
"watch.v1",
|
|
9
|
+
"watch.speech.v1",
|
|
9
10
|
"see.v1",
|
|
10
11
|
"extract.v1",
|
|
11
12
|
"extract.images.v1",
|