@rigxyz/tapd 0.6.5 → 0.6.7
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/dist/bin.js +34 -5
- package/dist/bin.js.map +1 -1
- package/dist/{chunk-7RKYNS5V.js → chunk-32K6ANXS.js} +0 -0
- package/dist/chunk-32K6ANXS.js.map +1 -0
- package/dist/index.d.ts +40 -8
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-7RKYNS5V.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -9,19 +9,28 @@ import { GetBindingResponse, PrepareUploadRequest, PrepareUploadResponse, Comple
|
|
|
9
9
|
* bulky generated artifacts (per design doc § "Large File Policy").
|
|
10
10
|
* Bulky media/archives are re-included under the top-level
|
|
11
11
|
* `attachments/` folder (chat attachments must sync).
|
|
12
|
-
* A user CAN override
|
|
12
|
+
* A user CAN override the non-secret ones (dependencies, media, …)
|
|
13
|
+
* via `!pattern` in their .tapignore.
|
|
13
14
|
* 2. Project .tapignore.
|
|
14
|
-
* 3.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* 3. Secrets + conflict sidecars (NON_OVERRIDABLE_IGNORE_LINES), added
|
|
16
|
+
* again after the project file. The .tapignore itself syncs from
|
|
17
|
+
* other members, so a `!.env` there would otherwise make every
|
|
18
|
+
* member's daemon upload their own .env.
|
|
19
|
+
* 4. Always-excluded paths — Tap's own local metadata, plus the paths
|
|
20
|
+
* that never sync between members (core isNeverSyncPath: .git,
|
|
21
|
+
* agent/MCP config). Matched case-insensitively, never re-enabled by
|
|
22
|
+
* `!pattern`; the relay refuses them anyway (validateRigPath rejects
|
|
23
|
+
* reserved paths, the change route refuses never-sync ones).
|
|
17
24
|
*/
|
|
18
25
|
|
|
19
26
|
declare const BUILTIN_IGNORE_LINES: ReadonlyArray<string>;
|
|
20
27
|
declare function loadIgnore(rootDir: string): Ignore;
|
|
21
28
|
/**
|
|
22
29
|
* Hard-exclude check that runs in addition to .tapignore. Tap's own
|
|
23
|
-
* local metadata
|
|
24
|
-
* their .tapignore —
|
|
30
|
+
* local metadata and the never-sync paths (.git, agent/MCP config) are
|
|
31
|
+
* invisible to sync no matter what the user puts in their .tapignore —
|
|
32
|
+
* including `!pattern` overrides. Case-insensitive: on APFS `.RIG/` is
|
|
33
|
+
* `.rig/`.
|
|
25
34
|
*/
|
|
26
35
|
declare function isAlwaysExcluded(posixPath: string): boolean;
|
|
27
36
|
|
|
@@ -287,6 +296,10 @@ declare function hashFile(absPath: string): Promise<string>;
|
|
|
287
296
|
* 7. Populate .rig/tap/state.local.db with last_applied_change_id
|
|
288
297
|
* per path, and the resulting cursor.
|
|
289
298
|
*
|
|
299
|
+
* `deferUpload` stops after step 3a (plus an empty state DB): the binding
|
|
300
|
+
* exists and the config is on disk, and the daemon's first scan uploads
|
|
301
|
+
* everything (`tapd start` pushes whatever the relay doesn't know yet).
|
|
302
|
+
*
|
|
290
303
|
* Returns a summary with the binding, the owner token (so the caller
|
|
291
304
|
* CLI can print it once), upload + change counts, and any walker
|
|
292
305
|
* warnings (oversized files / symlinks / invalid paths). Caller is
|
|
@@ -302,6 +315,15 @@ type InitOptions = {
|
|
|
302
315
|
deviceLabel?: string;
|
|
303
316
|
/** Org slug to scope the new binding to. Caller must already be a member. */
|
|
304
317
|
org?: string;
|
|
318
|
+
/** Create the binding as this kind (the relay defaults to `'rig'`). */
|
|
319
|
+
kind?: "rig" | "space";
|
|
320
|
+
/**
|
|
321
|
+
* Create the binding and write the local config, but leave the initial
|
|
322
|
+
* upload to the daemon's first scan (`tapd start` pushes every file the
|
|
323
|
+
* relay doesn't know yet). For a brand-new folder that should be usable
|
|
324
|
+
* the moment its binding exists — a new space in the desktop app.
|
|
325
|
+
*/
|
|
326
|
+
deferUpload?: boolean;
|
|
305
327
|
/** Test seam: override fetch (used to drive the in-process relay). */
|
|
306
328
|
fetch?: typeof fetch;
|
|
307
329
|
};
|
|
@@ -316,6 +338,8 @@ type InitResult = {
|
|
|
316
338
|
warnings: WalkResult["warnings"];
|
|
317
339
|
/** Cursor written to state.local.db after the initial submit. */
|
|
318
340
|
cursor: string;
|
|
341
|
+
/** True when the upload was left to the daemon's first scan (`deferUpload`). */
|
|
342
|
+
deferredUpload: boolean;
|
|
319
343
|
};
|
|
320
344
|
declare class AlreadyInitializedError extends Error {
|
|
321
345
|
readonly path: string;
|
|
@@ -428,6 +452,11 @@ declare function revoke(opts: {
|
|
|
428
452
|
* Materialization is atomic: download to `<file>.tap-tmp.<rand>` then
|
|
429
453
|
* `rename` into place. Atomic on POSIX; on Windows, `fs.rename` falls
|
|
430
454
|
* back to MoveFileEx-style replace.
|
|
455
|
+
*
|
|
456
|
+
* Files from other members are treated like downloads: never executable
|
|
457
|
+
* (the event's `executable` bit is ignored), quarantined on macOS so
|
|
458
|
+
* Gatekeeper checks them before they run, and never-sync paths (.git,
|
|
459
|
+
* agent/MCP config — core isNeverSyncPath) are not applied at all.
|
|
431
460
|
*/
|
|
432
461
|
|
|
433
462
|
/** State-DB meta key — running count of conflicts surfaced by `tapd status`. */
|
|
@@ -557,8 +586,11 @@ type IntentAssignment = {
|
|
|
557
586
|
|
|
558
587
|
type NotSyncedFile = {
|
|
559
588
|
path: string;
|
|
560
|
-
reason: "quota_exceeded" | "file_too_large";
|
|
561
|
-
/**
|
|
589
|
+
reason: "quota_exceeded" | "file_too_large" | "owner_only" | "protected";
|
|
590
|
+
/**
|
|
591
|
+
* Hash of the refused bytes; absent for walker-level oversize skips and
|
|
592
|
+
* for refused deletes/mkdirs/rmdirs.
|
|
593
|
+
*/
|
|
562
594
|
hash?: string;
|
|
563
595
|
size?: number;
|
|
564
596
|
/** The space's byte limit, for quota_exceeded. */
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rigxyz/tapd",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"description": "Local daemon for the hosted Tap relay — watches files, hashes content, uploads/downloads objects, applies remote changes. Pairs with @rigxyz/cli for shared-rig sync.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Dylan Bourgeois <dtsbourg@gmail.com>",
|