vibes-diy 14.3.105 → 14.3.106
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/cli/cmd-evento.d.ts +118 -112
- package/cli/cmds/db/index.d.ts +4 -0
- package/cli/cmds/db/put-cmd.d.ts +10 -0
- package/cli/cmds/db/put-cmd.js +46 -3
- package/cli/cmds/db/put-cmd.js.map +1 -1
- package/cli/cmds/db/put-files.d.ts +35 -0
- package/cli/cmds/db/put-files.js +119 -0
- package/cli/cmds/db/put-files.js.map +1 -0
- package/cli/cmds/db/put-files.test.d.ts +1 -0
- package/cli/cmds/db/put-files.test.js +344 -0
- package/cli/cmds/db/put-files.test.js.map +1 -0
- package/cli/cmds/infer-mime-type.d.ts +1 -0
- package/cli/cmds/infer-mime-type.js +5 -0
- package/cli/cmds/infer-mime-type.js.map +1 -0
- package/cli/cmds/put-asset-cmd.js +1 -28
- package/cli/cmds/put-asset-cmd.js.map +1 -1
- package/cli/main.js +1 -1
- package/cli/main.js.map +1 -1
- package/package.json +10 -8
package/cli/cmd-evento.d.ts
CHANGED
|
@@ -14,107 +14,24 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
14
14
|
slug: string;
|
|
15
15
|
content: string;
|
|
16
16
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
17
|
-
type: "vibes-diy.cli.
|
|
18
|
-
prompt: string;
|
|
17
|
+
type: "vibes-diy.cli.pull";
|
|
19
18
|
appSlug: string;
|
|
20
19
|
ownerHandle: string;
|
|
21
|
-
|
|
22
|
-
noAccessFn?: boolean | undefined;
|
|
23
|
-
privateMode?: boolean | undefined;
|
|
24
|
-
verbose: boolean;
|
|
20
|
+
dir: string;
|
|
25
21
|
apiUrl: string;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
variety?: string | undefined;
|
|
31
|
-
record?: string | undefined;
|
|
32
|
-
style?: string | undefined;
|
|
22
|
+
fsId?: string | undefined;
|
|
23
|
+
published: boolean;
|
|
24
|
+
draft: boolean;
|
|
25
|
+
version?: string | undefined;
|
|
33
26
|
}, {
|
|
27
|
+
type: "vibes-diy.cli.res-pull";
|
|
34
28
|
appSlug: string;
|
|
35
29
|
ownerHandle: string;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
env: Record<string, string>;
|
|
40
|
-
fileSystem: {
|
|
41
|
-
fileName: string;
|
|
42
|
-
mimeType: string;
|
|
43
|
-
assetId: string;
|
|
44
|
-
assetURI: string;
|
|
45
|
-
transform?: {
|
|
46
|
-
type: "jsx-to-js";
|
|
47
|
-
transformedAssetId: string;
|
|
48
|
-
} | {
|
|
49
|
-
type: "imports";
|
|
50
|
-
importMapAssetId: string;
|
|
51
|
-
} | {
|
|
52
|
-
type: "import-map";
|
|
53
|
-
fromAssetIds: string[];
|
|
54
|
-
} | {
|
|
55
|
-
type: "transformed";
|
|
56
|
-
action: "jsx-to-js";
|
|
57
|
-
transformedAssetId: string;
|
|
58
|
-
} | {
|
|
59
|
-
type: "tailwind-css";
|
|
60
|
-
} | undefined;
|
|
61
|
-
entryPoint?: boolean | undefined;
|
|
30
|
+
directory: string;
|
|
31
|
+
files: {
|
|
32
|
+
name: string;
|
|
62
33
|
size: number;
|
|
63
|
-
kind?: "asset" | undefined;
|
|
64
|
-
uploadId?: string | undefined;
|
|
65
34
|
}[];
|
|
66
|
-
} | {
|
|
67
|
-
type: "vibes.diy.res-error";
|
|
68
|
-
error: {
|
|
69
|
-
message: string;
|
|
70
|
-
code: "require-login";
|
|
71
|
-
};
|
|
72
|
-
} | {
|
|
73
|
-
type: "vibes.diy.res-error";
|
|
74
|
-
error: {
|
|
75
|
-
message: string;
|
|
76
|
-
code: "user-slug-invalid";
|
|
77
|
-
};
|
|
78
|
-
} | {
|
|
79
|
-
type: "vibes.diy.res-error";
|
|
80
|
-
error: {
|
|
81
|
-
message: string;
|
|
82
|
-
code: "app-slug-invalid";
|
|
83
|
-
};
|
|
84
|
-
} | {
|
|
85
|
-
type: "vibes.diy.res-error";
|
|
86
|
-
error: {
|
|
87
|
-
message: string;
|
|
88
|
-
code: "max-app-slugs-reached";
|
|
89
|
-
};
|
|
90
|
-
} | {
|
|
91
|
-
type: "vibes.diy.res-error";
|
|
92
|
-
error: {
|
|
93
|
-
message: string;
|
|
94
|
-
code: "handle-required";
|
|
95
|
-
};
|
|
96
|
-
} | {
|
|
97
|
-
type: "vibes.diy.res-error";
|
|
98
|
-
error: {
|
|
99
|
-
message: string;
|
|
100
|
-
code: "from-not-owned";
|
|
101
|
-
};
|
|
102
|
-
} | {
|
|
103
|
-
type: "vibes.diy.res-error";
|
|
104
|
-
error: {
|
|
105
|
-
message: string;
|
|
106
|
-
code: "from-carry-failed";
|
|
107
|
-
};
|
|
108
|
-
} | {
|
|
109
|
-
type: "vibes-diy.cli.res-generate";
|
|
110
|
-
appSlug: string;
|
|
111
|
-
ownerHandle: string;
|
|
112
|
-
url: string;
|
|
113
|
-
directory: string;
|
|
114
|
-
release?: "not-visible" | "published" | "version-locked" | undefined;
|
|
115
|
-
turns?: number | undefined;
|
|
116
|
-
publish?: "kept-private-no-access-fn" | "private" | "published" | undefined;
|
|
117
|
-
posture?: "gated" | "open" | "private" | undefined;
|
|
118
35
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
119
36
|
type: "vibes-diy.cli.db.subscribe";
|
|
120
37
|
apiUrl: string;
|
|
@@ -812,6 +729,108 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
812
729
|
size: number;
|
|
813
730
|
uploadId: string;
|
|
814
731
|
verified?: boolean | undefined;
|
|
732
|
+
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
733
|
+
type: "vibes-diy.cli.generate";
|
|
734
|
+
prompt: string;
|
|
735
|
+
appSlug: string;
|
|
736
|
+
ownerHandle: string;
|
|
737
|
+
instantJoin?: boolean | undefined;
|
|
738
|
+
noAccessFn?: boolean | undefined;
|
|
739
|
+
privateMode?: boolean | undefined;
|
|
740
|
+
verbose: boolean;
|
|
741
|
+
apiUrl: string;
|
|
742
|
+
focusPath?: string | undefined;
|
|
743
|
+
model?: string | undefined;
|
|
744
|
+
builderModel?: string | undefined;
|
|
745
|
+
apiKey?: string | undefined;
|
|
746
|
+
variety?: string | undefined;
|
|
747
|
+
record?: string | undefined;
|
|
748
|
+
style?: string | undefined;
|
|
749
|
+
}, {
|
|
750
|
+
appSlug: string;
|
|
751
|
+
ownerHandle: string;
|
|
752
|
+
mode: "dev" | "production";
|
|
753
|
+
fsId: string;
|
|
754
|
+
type: "vibes.diy.res-ensure-app-slug";
|
|
755
|
+
env: Record<string, string>;
|
|
756
|
+
fileSystem: {
|
|
757
|
+
fileName: string;
|
|
758
|
+
mimeType: string;
|
|
759
|
+
assetId: string;
|
|
760
|
+
assetURI: string;
|
|
761
|
+
transform?: {
|
|
762
|
+
type: "jsx-to-js";
|
|
763
|
+
transformedAssetId: string;
|
|
764
|
+
} | {
|
|
765
|
+
type: "imports";
|
|
766
|
+
importMapAssetId: string;
|
|
767
|
+
} | {
|
|
768
|
+
type: "import-map";
|
|
769
|
+
fromAssetIds: string[];
|
|
770
|
+
} | {
|
|
771
|
+
type: "transformed";
|
|
772
|
+
action: "jsx-to-js";
|
|
773
|
+
transformedAssetId: string;
|
|
774
|
+
} | {
|
|
775
|
+
type: "tailwind-css";
|
|
776
|
+
} | undefined;
|
|
777
|
+
entryPoint?: boolean | undefined;
|
|
778
|
+
size: number;
|
|
779
|
+
kind?: "asset" | undefined;
|
|
780
|
+
uploadId?: string | undefined;
|
|
781
|
+
}[];
|
|
782
|
+
} | {
|
|
783
|
+
type: "vibes.diy.res-error";
|
|
784
|
+
error: {
|
|
785
|
+
message: string;
|
|
786
|
+
code: "require-login";
|
|
787
|
+
};
|
|
788
|
+
} | {
|
|
789
|
+
type: "vibes.diy.res-error";
|
|
790
|
+
error: {
|
|
791
|
+
message: string;
|
|
792
|
+
code: "user-slug-invalid";
|
|
793
|
+
};
|
|
794
|
+
} | {
|
|
795
|
+
type: "vibes.diy.res-error";
|
|
796
|
+
error: {
|
|
797
|
+
message: string;
|
|
798
|
+
code: "app-slug-invalid";
|
|
799
|
+
};
|
|
800
|
+
} | {
|
|
801
|
+
type: "vibes.diy.res-error";
|
|
802
|
+
error: {
|
|
803
|
+
message: string;
|
|
804
|
+
code: "max-app-slugs-reached";
|
|
805
|
+
};
|
|
806
|
+
} | {
|
|
807
|
+
type: "vibes.diy.res-error";
|
|
808
|
+
error: {
|
|
809
|
+
message: string;
|
|
810
|
+
code: "handle-required";
|
|
811
|
+
};
|
|
812
|
+
} | {
|
|
813
|
+
type: "vibes.diy.res-error";
|
|
814
|
+
error: {
|
|
815
|
+
message: string;
|
|
816
|
+
code: "from-not-owned";
|
|
817
|
+
};
|
|
818
|
+
} | {
|
|
819
|
+
type: "vibes.diy.res-error";
|
|
820
|
+
error: {
|
|
821
|
+
message: string;
|
|
822
|
+
code: "from-carry-failed";
|
|
823
|
+
};
|
|
824
|
+
} | {
|
|
825
|
+
type: "vibes-diy.cli.res-generate";
|
|
826
|
+
appSlug: string;
|
|
827
|
+
ownerHandle: string;
|
|
828
|
+
url: string;
|
|
829
|
+
directory: string;
|
|
830
|
+
release?: "not-visible" | "published" | "version-locked" | undefined;
|
|
831
|
+
turns?: number | undefined;
|
|
832
|
+
publish?: "kept-private-no-access-fn" | "private" | "published" | undefined;
|
|
833
|
+
posture?: "gated" | "open" | "private" | undefined;
|
|
815
834
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
816
835
|
type: "vibes-diy.cli.app-chats";
|
|
817
836
|
appSlug: string;
|
|
@@ -851,25 +870,6 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
851
870
|
neverPublished?: boolean | undefined;
|
|
852
871
|
unpublishedAt?: string | undefined;
|
|
853
872
|
}[];
|
|
854
|
-
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
855
|
-
type: "vibes-diy.cli.pull";
|
|
856
|
-
appSlug: string;
|
|
857
|
-
ownerHandle: string;
|
|
858
|
-
dir: string;
|
|
859
|
-
apiUrl: string;
|
|
860
|
-
fsId?: string | undefined;
|
|
861
|
-
published: boolean;
|
|
862
|
-
draft: boolean;
|
|
863
|
-
version?: string | undefined;
|
|
864
|
-
}, {
|
|
865
|
-
type: "vibes-diy.cli.res-pull";
|
|
866
|
-
appSlug: string;
|
|
867
|
-
ownerHandle: string;
|
|
868
|
-
directory: string;
|
|
869
|
-
files: {
|
|
870
|
-
name: string;
|
|
871
|
-
size: number;
|
|
872
|
-
}[];
|
|
873
873
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
874
874
|
type: "vibes-diy.cli.versions";
|
|
875
875
|
appSlug: string;
|
|
@@ -1028,10 +1028,16 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
1028
1028
|
docId: string;
|
|
1029
1029
|
admin: boolean;
|
|
1030
1030
|
actingHandle: string;
|
|
1031
|
+
files?: string[] | undefined;
|
|
1031
1032
|
}, {
|
|
1032
1033
|
type: "vibes-diy.cli.db.put-res";
|
|
1033
1034
|
id: string;
|
|
1034
1035
|
ok: true;
|
|
1036
|
+
files?: {
|
|
1037
|
+
key: string;
|
|
1038
|
+
status: "unchanged" | "uploaded";
|
|
1039
|
+
uploadId: string;
|
|
1040
|
+
}[] | undefined;
|
|
1035
1041
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
1036
1042
|
type: "vibes-diy.cli.db.del";
|
|
1037
1043
|
apiUrl: string;
|
package/cli/cmds/db/index.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ export declare function dbSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/
|
|
|
63
63
|
dbName: string;
|
|
64
64
|
docJson: string;
|
|
65
65
|
docId: string;
|
|
66
|
+
file: string[];
|
|
67
|
+
files: string[];
|
|
66
68
|
admin: boolean;
|
|
67
69
|
};
|
|
68
70
|
} | {
|
|
@@ -176,6 +178,8 @@ export declare function dbSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/
|
|
|
176
178
|
dbName: string;
|
|
177
179
|
docJson: string;
|
|
178
180
|
docId: string;
|
|
181
|
+
file: string[];
|
|
182
|
+
files: string[];
|
|
179
183
|
admin: boolean;
|
|
180
184
|
};
|
|
181
185
|
} | {
|
package/cli/cmds/db/put-cmd.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare const ReqDbPut: import("arktype/internal/variants/object.ts").Obj
|
|
|
11
11
|
docId: string;
|
|
12
12
|
admin: boolean;
|
|
13
13
|
actingHandle: string;
|
|
14
|
+
files?: string[] | undefined;
|
|
14
15
|
}, {}>;
|
|
15
16
|
export type ReqDbPut = typeof ReqDbPut.infer;
|
|
16
17
|
export declare function isReqDbPut(obj: unknown): obj is ReqDbPut;
|
|
@@ -18,6 +19,11 @@ export declare const ResDbPut: import("arktype/internal/variants/object.ts").Obj
|
|
|
18
19
|
type: "vibes-diy.cli.db.put-res";
|
|
19
20
|
id: string;
|
|
20
21
|
ok: true;
|
|
22
|
+
files?: {
|
|
23
|
+
key: string;
|
|
24
|
+
status: "unchanged" | "uploaded";
|
|
25
|
+
uploadId: string;
|
|
26
|
+
}[] | undefined;
|
|
21
27
|
}, {}>;
|
|
22
28
|
export type ResDbPut = typeof ResDbPut.infer;
|
|
23
29
|
export declare function isResDbPut(obj: unknown): obj is ResDbPut;
|
|
@@ -34,6 +40,8 @@ export declare function dbPutCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/a
|
|
|
34
40
|
dbName: string;
|
|
35
41
|
docJson: string;
|
|
36
42
|
docId: string;
|
|
43
|
+
file: string[];
|
|
44
|
+
files: string[];
|
|
37
45
|
admin: boolean;
|
|
38
46
|
}>>;
|
|
39
47
|
} & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & import("cmd-ts/dist/cjs/helpdoc.js").ProvidesHelp & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
|
|
@@ -47,6 +55,8 @@ export declare function dbPutCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/a
|
|
|
47
55
|
dbName: string;
|
|
48
56
|
docJson: string;
|
|
49
57
|
docId: string;
|
|
58
|
+
file: string[];
|
|
59
|
+
files: string[];
|
|
50
60
|
admin: boolean;
|
|
51
61
|
}, never> & {
|
|
52
62
|
run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<never>>;
|
package/cli/cmds/db/put-cmd.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { command, flag, positional, option, string } from "cmd-ts";
|
|
1
|
+
import { array, command, flag, multioption, positional, option, string } from "cmd-ts";
|
|
2
2
|
import { type } from "arktype";
|
|
3
3
|
import { Result, Option, exception2Result } from "@adviser/cement";
|
|
4
4
|
import { FireflyApiAdapter } from "@vibes.diy/api-impl";
|
|
5
|
-
import { isResPutDoc } from "@vibes.diy/api-types";
|
|
5
|
+
import { isResGetDoc, isResPutDoc } from "@vibes.diy/api-types";
|
|
6
6
|
import { cmdTsDefaultArgs } from "../../cli-ctx.js";
|
|
7
7
|
import { sendMsg } from "../../cmd-evento.js";
|
|
8
8
|
import { readStdinText } from "../../read-stdin.js";
|
|
9
9
|
import { dbCommonArgs, openVibeDbApi, resolveDbVibeArgs, resolveDocId } from "./shared.js";
|
|
10
|
+
import { attachFiles, mergeFilesBase, resolveFilePatterns } from "./put-files.js";
|
|
10
11
|
export const ReqDbPut = type({
|
|
11
12
|
type: "'vibes-diy.cli.db.put'",
|
|
12
13
|
apiUrl: "string",
|
|
@@ -17,6 +18,7 @@ export const ReqDbPut = type({
|
|
|
17
18
|
docId: "string",
|
|
18
19
|
admin: "boolean",
|
|
19
20
|
actingHandle: "string",
|
|
21
|
+
"files?": "string[]",
|
|
20
22
|
});
|
|
21
23
|
export function isReqDbPut(obj) {
|
|
22
24
|
return !(ReqDbPut(obj) instanceof type.errors);
|
|
@@ -25,6 +27,7 @@ export const ResDbPut = type({
|
|
|
25
27
|
type: "'vibes-diy.cli.db.put-res'",
|
|
26
28
|
id: "string",
|
|
27
29
|
ok: "true",
|
|
30
|
+
"files?": type({ key: "string", status: "'uploaded' | 'unchanged'", uploadId: "string" }).array(),
|
|
28
31
|
});
|
|
29
32
|
export function isResDbPut(obj) {
|
|
30
33
|
return !(ResDbPut(obj) instanceof type.errors);
|
|
@@ -50,6 +53,13 @@ export const dbPutEvento = {
|
|
|
50
53
|
if (rParsed.isErr())
|
|
51
54
|
return Result.Err(`Invalid JSON: ${rParsed.Err()}`);
|
|
52
55
|
const doc = rParsed.Ok();
|
|
56
|
+
let matched = [];
|
|
57
|
+
if (ctx.validated.files !== undefined && ctx.validated.files.length > 0) {
|
|
58
|
+
const rMatched = await resolveFilePatterns(ctx.validated.files, ectx.cwd?.() ?? process.cwd());
|
|
59
|
+
if (rMatched.isErr())
|
|
60
|
+
return Result.Err(rMatched.Err());
|
|
61
|
+
matched = rMatched.Ok();
|
|
62
|
+
}
|
|
53
63
|
const rApi = await openVibeDbApi(ectx, {
|
|
54
64
|
apiUrl: ctx.validated.apiUrl,
|
|
55
65
|
ownerHandle: ctx.validated.ownerHandle,
|
|
@@ -64,6 +74,23 @@ export const dbPutEvento = {
|
|
|
64
74
|
...(ctx.validated.actingHandle ? { actingHandle: ctx.validated.actingHandle } : {}),
|
|
65
75
|
});
|
|
66
76
|
const docId = resolveDocId(ctx.validated.docId, doc);
|
|
77
|
+
let fileReport;
|
|
78
|
+
if (matched.length > 0) {
|
|
79
|
+
let storedFiles = undefined;
|
|
80
|
+
if (docId !== undefined) {
|
|
81
|
+
const rGet = await adapter.getDoc(docId, ctx.validated.dbName);
|
|
82
|
+
if (rGet.isOk() && isResGetDoc(rGet.Ok()))
|
|
83
|
+
storedFiles = rGet.Ok().doc._files;
|
|
84
|
+
}
|
|
85
|
+
const rBase = mergeFilesBase(storedFiles, doc._files);
|
|
86
|
+
if (rBase.isErr())
|
|
87
|
+
return Result.Err(rBase.Err());
|
|
88
|
+
const rAttach = await attachFiles({ api, apiUrl: ctx.validated.apiUrl, fetch: ectx.fetch, stderr: ectx.output.stderr }, { matched, base: rBase.Ok(), ownerHandle, appSlug: ctx.validated.appSlug });
|
|
89
|
+
if (rAttach.isErr())
|
|
90
|
+
return Result.Err(rAttach.Err());
|
|
91
|
+
doc._files = rAttach.Ok().files;
|
|
92
|
+
fileReport = rAttach.Ok().report;
|
|
93
|
+
}
|
|
67
94
|
const r = await adapter.putDoc(doc, docId, ctx.validated.dbName);
|
|
68
95
|
if (r.isErr())
|
|
69
96
|
return Result.Err(r.Err());
|
|
@@ -75,13 +102,14 @@ export const dbPutEvento = {
|
|
|
75
102
|
type: "vibes-diy.cli.db.put-res",
|
|
76
103
|
id: res.id,
|
|
77
104
|
ok: true,
|
|
105
|
+
...(fileReport ? { files: fileReport } : {}),
|
|
78
106
|
});
|
|
79
107
|
},
|
|
80
108
|
};
|
|
81
109
|
export function dbPutCmd(ctx) {
|
|
82
110
|
return command({
|
|
83
111
|
name: "put",
|
|
84
|
-
description: "Put (create or update) a document. Pass JSON on argv or '-' to read from stdin.",
|
|
112
|
+
description: "Put (create or update) a document. Pass JSON on argv or '-' to read from stdin. --file attaches local files as _files entries.",
|
|
85
113
|
args: {
|
|
86
114
|
...cmdTsDefaultArgs(ctx),
|
|
87
115
|
...dbCommonArgs(),
|
|
@@ -97,6 +125,20 @@ export function dbPutCmd(ctx) {
|
|
|
97
125
|
defaultValue: () => "",
|
|
98
126
|
defaultValueIsSerializable: true,
|
|
99
127
|
}),
|
|
128
|
+
file: multioption({
|
|
129
|
+
long: "file",
|
|
130
|
+
description: "Attach a file (or every file a glob matches) as _files.<basename> on the doc; repeatable. Unchanged files are kept, not re-uploaded. Works for any member who can write the vibe",
|
|
131
|
+
type: array(string),
|
|
132
|
+
defaultValue: () => [],
|
|
133
|
+
defaultValueIsSerializable: true,
|
|
134
|
+
}),
|
|
135
|
+
files: multioption({
|
|
136
|
+
long: "files",
|
|
137
|
+
description: "Same as --file",
|
|
138
|
+
type: array(string),
|
|
139
|
+
defaultValue: () => [],
|
|
140
|
+
defaultValueIsSerializable: true,
|
|
141
|
+
}),
|
|
100
142
|
admin: flag({
|
|
101
143
|
long: "admin",
|
|
102
144
|
description: "Write with admin override: bypasses the legacy db ACL. The vibe's access function still runs and can still refuse — --admin is only a hint it may honor, and a refused write stays refused (unlike `db del --admin`, which forces the delete). Works for the vibe owner or a platform admin",
|
|
@@ -119,6 +161,7 @@ export function dbPutCmd(ctx) {
|
|
|
119
161
|
docJson: args.docJson,
|
|
120
162
|
docId: args.docId,
|
|
121
163
|
admin: args.admin,
|
|
164
|
+
files: [...args.file, ...args.files],
|
|
122
165
|
};
|
|
123
166
|
}),
|
|
124
167
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-cmd.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/put-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"put-cmd.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/put-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import { type PutAssetApi } from "../put-asset-core.js";
|
|
3
|
+
export interface MatchedFile {
|
|
4
|
+
readonly key: string;
|
|
5
|
+
readonly path: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function resolveFilePatterns(patterns: readonly string[], cwd: string): Promise<Result<MatchedFile[]>>;
|
|
8
|
+
export declare function cidOfBytes(bytes: Uint8Array): string;
|
|
9
|
+
export interface LocalFingerprint {
|
|
10
|
+
readonly cid: string;
|
|
11
|
+
readonly size: number;
|
|
12
|
+
readonly lastModified: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function fileEntryIsUnchanged(local: LocalFingerprint, existing: unknown): boolean;
|
|
15
|
+
export declare function mergeFilesBase(storedFiles: unknown, jsonFiles: unknown): Result<Record<string, unknown>>;
|
|
16
|
+
export interface AttachedFileReport {
|
|
17
|
+
readonly key: string;
|
|
18
|
+
readonly status: "uploaded" | "unchanged";
|
|
19
|
+
readonly uploadId: string;
|
|
20
|
+
}
|
|
21
|
+
export interface AttachFilesCtx {
|
|
22
|
+
readonly api: PutAssetApi;
|
|
23
|
+
readonly apiUrl: string;
|
|
24
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
25
|
+
readonly stderr: (text: string) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare function attachFiles(ctx: AttachFilesCtx, input: {
|
|
28
|
+
readonly matched: readonly MatchedFile[];
|
|
29
|
+
readonly base: Record<string, unknown>;
|
|
30
|
+
readonly ownerHandle: string;
|
|
31
|
+
readonly appSlug: string;
|
|
32
|
+
}): Promise<Result<{
|
|
33
|
+
files: Record<string, unknown>;
|
|
34
|
+
report: AttachedFileReport[];
|
|
35
|
+
}>>;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { readFile, stat } from "node:fs/promises";
|
|
2
|
+
import { basename, resolve } from "node:path";
|
|
3
|
+
import { createHash } from "node:crypto";
|
|
4
|
+
import { exception2Result, Result } from "@adviser/cement";
|
|
5
|
+
import { type } from "arktype";
|
|
6
|
+
import { base58btc } from "multiformats/bases/base58";
|
|
7
|
+
import { glob } from "zx";
|
|
8
|
+
import { inferMimeType } from "../infer-mime-type.js";
|
|
9
|
+
import { KYC_REQUIRED_CLI_MESSAGE, KYC_REQUIRED_MARKER, putAssetFile } from "../put-asset-core.js";
|
|
10
|
+
function isRegularFile(path) {
|
|
11
|
+
return exception2Result(() => stat(path)).then((r) => r.isOk() && r.Ok().isFile());
|
|
12
|
+
}
|
|
13
|
+
export async function resolveFilePatterns(patterns, cwd) {
|
|
14
|
+
const byPath = new Map();
|
|
15
|
+
for (const pattern of patterns) {
|
|
16
|
+
const literal = resolve(cwd, pattern);
|
|
17
|
+
let paths;
|
|
18
|
+
if (await isRegularFile(literal)) {
|
|
19
|
+
paths = [literal];
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const rGlob = await exception2Result(() => glob(pattern, { cwd, absolute: true, onlyFiles: true }));
|
|
23
|
+
if (rGlob.isErr())
|
|
24
|
+
return Result.Err(`--file ${pattern}: ${rGlob.Err().message}`);
|
|
25
|
+
paths = rGlob.Ok().map((p) => resolve(p));
|
|
26
|
+
}
|
|
27
|
+
if (paths.length === 0)
|
|
28
|
+
return Result.Err(`--file ${pattern} matched no files`);
|
|
29
|
+
for (const path of paths)
|
|
30
|
+
byPath.set(path, { key: basename(path), path });
|
|
31
|
+
}
|
|
32
|
+
const byKey = new Map();
|
|
33
|
+
for (const m of byPath.values()) {
|
|
34
|
+
const prior = byKey.get(m.key);
|
|
35
|
+
if (prior !== undefined) {
|
|
36
|
+
return Result.Err(`--file: two files would both be _files.${m.key}: ${prior.path} and ${m.path}`);
|
|
37
|
+
}
|
|
38
|
+
byKey.set(m.key, m);
|
|
39
|
+
}
|
|
40
|
+
return Result.Ok([...byKey.values()].sort((a, b) => (a.key < b.key ? -1 : a.key > b.key ? 1 : 0)));
|
|
41
|
+
}
|
|
42
|
+
export function cidOfBytes(bytes) {
|
|
43
|
+
return base58btc.encode(createHash("sha256").update(bytes).digest());
|
|
44
|
+
}
|
|
45
|
+
const StoredFileMeta = type({
|
|
46
|
+
uploadId: "string",
|
|
47
|
+
type: "string",
|
|
48
|
+
size: "number",
|
|
49
|
+
"cid?": "string",
|
|
50
|
+
"lastModified?": "number",
|
|
51
|
+
});
|
|
52
|
+
export function fileEntryIsUnchanged(local, existing) {
|
|
53
|
+
const meta = StoredFileMeta(existing);
|
|
54
|
+
if (meta instanceof type.errors)
|
|
55
|
+
return false;
|
|
56
|
+
if (meta.size !== local.size)
|
|
57
|
+
return false;
|
|
58
|
+
if (meta.cid !== undefined)
|
|
59
|
+
return meta.cid === local.cid;
|
|
60
|
+
return meta.lastModified === local.lastModified;
|
|
61
|
+
}
|
|
62
|
+
const FilesObject = type("Record<string, unknown>");
|
|
63
|
+
function filesRecord(v) {
|
|
64
|
+
if (Array.isArray(v))
|
|
65
|
+
return undefined;
|
|
66
|
+
const r = FilesObject(v);
|
|
67
|
+
return r instanceof type.errors ? undefined : r;
|
|
68
|
+
}
|
|
69
|
+
export function mergeFilesBase(storedFiles, jsonFiles) {
|
|
70
|
+
const json = jsonFiles === undefined ? {} : filesRecord(jsonFiles);
|
|
71
|
+
if (json === undefined)
|
|
72
|
+
return Result.Err("_files in the JSON must be an object of file entries");
|
|
73
|
+
return Result.Ok({ ...(filesRecord(storedFiles) ?? {}), ...json });
|
|
74
|
+
}
|
|
75
|
+
async function fingerprint(path) {
|
|
76
|
+
const rBytes = await exception2Result(() => readFile(path));
|
|
77
|
+
if (rBytes.isErr())
|
|
78
|
+
return Result.Err(`Reading ${path}: ${rBytes.Err().message}`);
|
|
79
|
+
const rStat = await exception2Result(() => stat(path));
|
|
80
|
+
if (rStat.isErr())
|
|
81
|
+
return Result.Err(`Reading ${path}: ${rStat.Err().message}`);
|
|
82
|
+
const bytes = rBytes.Ok();
|
|
83
|
+
return Result.Ok({ cid: cidOfBytes(bytes), size: bytes.length, lastModified: Math.trunc(rStat.Ok().mtimeMs) });
|
|
84
|
+
}
|
|
85
|
+
export async function attachFiles(ctx, input) {
|
|
86
|
+
const files = { ...input.base };
|
|
87
|
+
const report = [];
|
|
88
|
+
for (const m of input.matched) {
|
|
89
|
+
const rFp = await fingerprint(m.path);
|
|
90
|
+
if (rFp.isErr())
|
|
91
|
+
return Result.Err(rFp.Err());
|
|
92
|
+
const local = rFp.Ok();
|
|
93
|
+
const existing = input.base[m.key];
|
|
94
|
+
if (fileEntryIsUnchanged(local, existing)) {
|
|
95
|
+
const uploadId = existing.uploadId;
|
|
96
|
+
ctx.stderr(`unchanged ${m.key}\n`);
|
|
97
|
+
report.push({ key: m.key, status: "unchanged", uploadId });
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const mimeType = inferMimeType(m.path);
|
|
101
|
+
const rPut = await putAssetFile({ api: ctx.api, apiUrl: ctx.apiUrl, fetch: ctx.fetch }, { file: m.path, ownerHandle: input.ownerHandle, appSlug: input.appSlug, purpose: "files", mimeType });
|
|
102
|
+
if (rPut.isErr()) {
|
|
103
|
+
if (rPut.Err().message === KYC_REQUIRED_MARKER)
|
|
104
|
+
return Result.Err(KYC_REQUIRED_CLI_MESSAGE);
|
|
105
|
+
return Result.Err(`Uploading ${m.key}: ${rPut.Err().message}`);
|
|
106
|
+
}
|
|
107
|
+
const { uploadId, cid, size } = rPut.Ok();
|
|
108
|
+
Object.defineProperty(files, m.key, {
|
|
109
|
+
value: { uploadId, type: mimeType, size, lastModified: local.lastModified, cid },
|
|
110
|
+
enumerable: true,
|
|
111
|
+
writable: true,
|
|
112
|
+
configurable: true,
|
|
113
|
+
});
|
|
114
|
+
ctx.stderr(`uploaded ${m.key}\n`);
|
|
115
|
+
report.push({ key: m.key, status: "uploaded", uploadId });
|
|
116
|
+
}
|
|
117
|
+
return Result.Ok({ files, report });
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=put-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put-files.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/put-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import { mkdtempSync, mkdirSync, rmSync, utimesSync, writeFileSync, statSync } from "node:fs";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { createHash } from "node:crypto";
|
|
5
|
+
import { AppContext, Result } from "@adviser/cement";
|
|
6
|
+
import { run } from "cmd-ts";
|
|
7
|
+
import { base58btc } from "multiformats/bases/base58";
|
|
8
|
+
import { inferMimeType } from "../infer-mime-type.js";
|
|
9
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
10
|
+
import { mkResError } from "@vibes.diy/api-types";
|
|
11
|
+
import { createCliStream } from "../../cli-kit.js";
|
|
12
|
+
import { dbPutCmd, dbPutEvento } from "./put-cmd.js";
|
|
13
|
+
import { cidOfBytes, fileEntryIsUnchanged, mergeFilesBase, resolveFilePatterns } from "./put-files.js";
|
|
14
|
+
let dir;
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
dir = mkdtempSync(join(tmpdir(), "db-put-file-"));
|
|
17
|
+
});
|
|
18
|
+
afterEach(() => {
|
|
19
|
+
rmSync(dir, { recursive: true, force: true });
|
|
20
|
+
});
|
|
21
|
+
function serverCid(bytes) {
|
|
22
|
+
return base58btc.encode(createHash("sha256").update(bytes).digest());
|
|
23
|
+
}
|
|
24
|
+
describe("resolveFilePatterns", () => {
|
|
25
|
+
it("a plain name is a glob that matches one file", async () => {
|
|
26
|
+
writeFileSync(join(dir, "a.png"), "A");
|
|
27
|
+
const r = await resolveFilePatterns(["a.png"], dir);
|
|
28
|
+
expect(r.Ok()).toEqual([{ key: "a.png", path: join(dir, "a.png") }]);
|
|
29
|
+
});
|
|
30
|
+
it("a glob matches every file, keyed by basename", async () => {
|
|
31
|
+
mkdirSync(join(dir, "shots"));
|
|
32
|
+
writeFileSync(join(dir, "shots", "b.png"), "B");
|
|
33
|
+
writeFileSync(join(dir, "shots", "a.png"), "A");
|
|
34
|
+
writeFileSync(join(dir, "shots", "notes.txt"), "N");
|
|
35
|
+
const r = await resolveFilePatterns(["shots/*.png"], dir);
|
|
36
|
+
expect(r.Ok().map((m) => m.key)).toEqual(["a.png", "b.png"]);
|
|
37
|
+
});
|
|
38
|
+
it("a name with glob characters that exists literally is that file", async () => {
|
|
39
|
+
writeFileSync(join(dir, "shot[1].png"), "S");
|
|
40
|
+
const r = await resolveFilePatterns(["shot[1].png"], dir);
|
|
41
|
+
expect(r.Ok()).toEqual([{ key: "shot[1].png", path: join(dir, "shot[1].png") }]);
|
|
42
|
+
});
|
|
43
|
+
it("refuses a pattern that matches nothing", async () => {
|
|
44
|
+
const r = await resolveFilePatterns(["missing/*.png"], dir);
|
|
45
|
+
expect(r.isErr()).toBe(true);
|
|
46
|
+
expect(r.Err().message).toContain("missing/*.png");
|
|
47
|
+
});
|
|
48
|
+
it("refuses two different files with the same basename", async () => {
|
|
49
|
+
mkdirSync(join(dir, "x"));
|
|
50
|
+
mkdirSync(join(dir, "y"));
|
|
51
|
+
writeFileSync(join(dir, "x", "a.png"), "1");
|
|
52
|
+
writeFileSync(join(dir, "y", "a.png"), "2");
|
|
53
|
+
const r = await resolveFilePatterns(["*/a.png"], dir);
|
|
54
|
+
expect(r.isErr()).toBe(true);
|
|
55
|
+
expect(r.Err().message).toContain("a.png");
|
|
56
|
+
});
|
|
57
|
+
it("the same file named twice is one match, not a collision", async () => {
|
|
58
|
+
writeFileSync(join(dir, "a.png"), "A");
|
|
59
|
+
const r = await resolveFilePatterns(["a.png", "*.png"], dir);
|
|
60
|
+
expect(r.Ok()).toEqual([{ key: "a.png", path: join(dir, "a.png") }]);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe("cid and the skip test", () => {
|
|
64
|
+
const bytes = Uint8Array.from([1, 2, 3, 4]);
|
|
65
|
+
const local = { cid: serverCid(bytes), size: 4, lastModified: 1000 };
|
|
66
|
+
it("cid matches the server's base58btc(sha256(bytes))", () => {
|
|
67
|
+
expect(cidOfBytes(bytes)).toBe(serverCid(bytes));
|
|
68
|
+
});
|
|
69
|
+
it("skips when the stored cid and size match", () => {
|
|
70
|
+
expect(fileEntryIsUnchanged(local, { uploadId: "u1", type: "image/png", size: 4, cid: local.cid, lastModified: 1 })).toBe(true);
|
|
71
|
+
});
|
|
72
|
+
it("uploads when the stored cid differs, even if size and mtime match", () => {
|
|
73
|
+
expect(fileEntryIsUnchanged(local, { uploadId: "u1", type: "image/png", size: 4, cid: "zOther", lastModified: 1000 })).toBe(false);
|
|
74
|
+
});
|
|
75
|
+
it("a browser-written entry (no cid) skips only on size AND lastModified", () => {
|
|
76
|
+
expect(fileEntryIsUnchanged(local, { uploadId: "u1", type: "image/png", size: 4, lastModified: 1000 })).toBe(true);
|
|
77
|
+
expect(fileEntryIsUnchanged(local, { uploadId: "u1", type: "image/png", size: 4, lastModified: 999 })).toBe(false);
|
|
78
|
+
expect(fileEntryIsUnchanged(local, { uploadId: "u1", type: "image/png", size: 5, lastModified: 1000 })).toBe(false);
|
|
79
|
+
expect(fileEntryIsUnchanged(local, { uploadId: "u1", type: "image/png", size: 4 })).toBe(false);
|
|
80
|
+
});
|
|
81
|
+
it("nothing usable stored means upload", () => {
|
|
82
|
+
expect(fileEntryIsUnchanged(local, undefined)).toBe(false);
|
|
83
|
+
expect(fileEntryIsUnchanged(local, { size: 4, cid: local.cid })).toBe(false);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe("mergeFilesBase", () => {
|
|
87
|
+
it("keeps stored entries the JSON does not name; the JSON's own entries win", () => {
|
|
88
|
+
const stored = { "a.png": { uploadId: "old-a" }, "b.png": { uploadId: "old-b" } };
|
|
89
|
+
const json = { "b.png": { uploadId: "json-b", type: "image/png", size: 1 } };
|
|
90
|
+
expect(mergeFilesBase(stored, json).Ok()).toEqual({
|
|
91
|
+
"a.png": { uploadId: "old-a" },
|
|
92
|
+
"b.png": { uploadId: "json-b", type: "image/png", size: 1 },
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
it("no stored doc and no JSON _files is an empty base", () => {
|
|
96
|
+
expect(mergeFilesBase(undefined, undefined).Ok()).toEqual({});
|
|
97
|
+
});
|
|
98
|
+
it("refuses a JSON _files that is not an object", () => {
|
|
99
|
+
expect(mergeFilesBase(undefined, ["x"]).isErr()).toBe(true);
|
|
100
|
+
expect(mergeFilesBase(undefined, "x").isErr()).toBe(true);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
function makeHarness(storedDoc, opts = {}) {
|
|
104
|
+
const h = { putCalls: [], grantCalls: [], uploads: [], stderr: [], sent: [] };
|
|
105
|
+
let n = 0;
|
|
106
|
+
const api = {
|
|
107
|
+
getDoc: vi.fn((req) => {
|
|
108
|
+
if (opts.getDocDenied)
|
|
109
|
+
return Promise.resolve(Result.Err(mkResError("Access denied")));
|
|
110
|
+
if (storedDoc === undefined) {
|
|
111
|
+
return Promise.resolve(Result.Ok({ type: "vibes.diy.res-get-doc", status: "not-found", id: req.docId }));
|
|
112
|
+
}
|
|
113
|
+
return Promise.resolve(Result.Ok({ type: "vibes.diy.res-get-doc", status: "ok", id: req.docId, doc: storedDoc }));
|
|
114
|
+
}),
|
|
115
|
+
putDoc: vi.fn((req) => {
|
|
116
|
+
h.putCalls.push(req);
|
|
117
|
+
return Promise.resolve(Result.Ok({ type: "vibes.diy.res-put-doc", status: "ok", id: "shot:1" }));
|
|
118
|
+
}),
|
|
119
|
+
requestAssetUploadGrant: vi.fn((req) => {
|
|
120
|
+
h.grantCalls.push(req);
|
|
121
|
+
n++;
|
|
122
|
+
return Promise.resolve(Result.Ok({
|
|
123
|
+
type: "vibes.diy.res-asset-upload-grant",
|
|
124
|
+
grant: `g${n}`,
|
|
125
|
+
uploadUrl: "/assets",
|
|
126
|
+
expiresAt: "2099-01-01T00:00:00Z",
|
|
127
|
+
uploadId: `grant-upl-${n}`,
|
|
128
|
+
}));
|
|
129
|
+
}),
|
|
130
|
+
close: vi.fn(() => Promise.resolve()),
|
|
131
|
+
};
|
|
132
|
+
const fetchStub = async (url, init) => {
|
|
133
|
+
const body = new Uint8Array(await new Response(init?.body).arrayBuffer());
|
|
134
|
+
const grant = (init?.headers)["X-Asset-Grant"];
|
|
135
|
+
h.uploads.push({ url: String(url), grant, body });
|
|
136
|
+
const stored = opts.serverStored ?? { cid: serverCid(body), size: body.length };
|
|
137
|
+
return new Response(JSON.stringify({ ...stored, getURL: "/x", uploadId: `up-${grant}` }), {
|
|
138
|
+
status: 200,
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
const ctx = {
|
|
142
|
+
sthis: { env: { get: () => undefined }, nextId: () => ({ str: "test-id" }) },
|
|
143
|
+
cliStream: createCliStream(),
|
|
144
|
+
output: { stdout: () => undefined, stderr: (t) => h.stderr.push(t) },
|
|
145
|
+
exitCode: 0,
|
|
146
|
+
vibesDiyApiFactory: (() => api),
|
|
147
|
+
fetch: fetchStub,
|
|
148
|
+
cwd: () => dir,
|
|
149
|
+
};
|
|
150
|
+
return { h, ctx };
|
|
151
|
+
}
|
|
152
|
+
const basePut = {
|
|
153
|
+
type: "vibes-diy.cli.db.put",
|
|
154
|
+
apiUrl: "https://vibes.diy/api?.stable-entry.=cli",
|
|
155
|
+
appSlug: "session-test",
|
|
156
|
+
ownerHandle: "jchris-coder",
|
|
157
|
+
actingHandle: "",
|
|
158
|
+
dbName: "shots",
|
|
159
|
+
docJson: '{"_id":"shot:1","type":"shot"}',
|
|
160
|
+
docId: "",
|
|
161
|
+
admin: false,
|
|
162
|
+
files: [],
|
|
163
|
+
};
|
|
164
|
+
async function runPut(ctx, h, validated) {
|
|
165
|
+
return dbPutEvento.handle({
|
|
166
|
+
ctx: new AppContext().set("cliCtx", ctx),
|
|
167
|
+
validated,
|
|
168
|
+
request: {},
|
|
169
|
+
send: {
|
|
170
|
+
send: vi.fn((_c, msg) => {
|
|
171
|
+
h.sent.push(msg.result);
|
|
172
|
+
return Promise.resolve();
|
|
173
|
+
}),
|
|
174
|
+
done: vi.fn(),
|
|
175
|
+
},
|
|
176
|
+
enRequest: validated,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
function putFiles(h) {
|
|
180
|
+
return h.putCalls[0].doc._files;
|
|
181
|
+
}
|
|
182
|
+
describe("db put --file", () => {
|
|
183
|
+
it("uploads a new file with purpose files and writes the full meta", async () => {
|
|
184
|
+
writeFileSync(join(dir, "a.png"), "PNGDATA");
|
|
185
|
+
const { h, ctx } = makeHarness(undefined);
|
|
186
|
+
const r = await runPut(ctx, h, { ...basePut, files: ["a.png"] });
|
|
187
|
+
expect(r.isOk()).toBe(true);
|
|
188
|
+
expect(h.grantCalls).toEqual([
|
|
189
|
+
{ ownerHandle: "jchris-coder", appSlug: "session-test", mimeType: "image/png", purpose: "files" },
|
|
190
|
+
]);
|
|
191
|
+
expect(h.uploads).toHaveLength(1);
|
|
192
|
+
const st = statSync(join(dir, "a.png"));
|
|
193
|
+
expect(putFiles(h)["a.png"]).toEqual({
|
|
194
|
+
uploadId: "up-g1",
|
|
195
|
+
type: "image/png",
|
|
196
|
+
size: 7,
|
|
197
|
+
lastModified: Math.trunc(st.mtimeMs),
|
|
198
|
+
cid: serverCid(Buffer.from("PNGDATA")),
|
|
199
|
+
});
|
|
200
|
+
expect(h.stderr.join("")).toContain("uploaded a.png");
|
|
201
|
+
expect(h.sent[0].files).toEqual([{ key: "a.png", status: "uploaded", uploadId: "up-g1" }]);
|
|
202
|
+
});
|
|
203
|
+
it("skips an unchanged file by cid and keeps the stored entry verbatim", async () => {
|
|
204
|
+
writeFileSync(join(dir, "a.png"), "PNGDATA");
|
|
205
|
+
const stored = {
|
|
206
|
+
uploadId: "up-old",
|
|
207
|
+
type: "image/png",
|
|
208
|
+
size: 7,
|
|
209
|
+
lastModified: 1,
|
|
210
|
+
cid: serverCid(Buffer.from("PNGDATA")),
|
|
211
|
+
url: "https://example/asset",
|
|
212
|
+
};
|
|
213
|
+
const { h, ctx } = makeHarness({ type: "shot", _files: { "a.png": stored } });
|
|
214
|
+
await runPut(ctx, h, { ...basePut, files: ["a.png"] });
|
|
215
|
+
expect(h.grantCalls).toHaveLength(0);
|
|
216
|
+
expect(h.uploads).toHaveLength(0);
|
|
217
|
+
expect(putFiles(h)["a.png"]).toEqual(stored);
|
|
218
|
+
expect(h.stderr.join("")).toContain("unchanged a.png");
|
|
219
|
+
expect(h.sent[0].files).toEqual([{ key: "a.png", status: "unchanged", uploadId: "up-old" }]);
|
|
220
|
+
});
|
|
221
|
+
it("skips a browser-written entry by size + mtime", async () => {
|
|
222
|
+
writeFileSync(join(dir, "a.png"), "PNGDATA");
|
|
223
|
+
utimesSync(join(dir, "a.png"), 1_700_000_000, 1_700_000_000);
|
|
224
|
+
const stored = { uploadId: "up-b", type: "image/png", size: 7, lastModified: 1_700_000_000_000 };
|
|
225
|
+
const { h, ctx } = makeHarness({ _files: { "a.png": stored } });
|
|
226
|
+
await runPut(ctx, h, { ...basePut, files: ["a.png"] });
|
|
227
|
+
expect(h.uploads).toHaveLength(0);
|
|
228
|
+
expect(putFiles(h)["a.png"]).toEqual(stored);
|
|
229
|
+
});
|
|
230
|
+
it("re-uploads a changed file", async () => {
|
|
231
|
+
writeFileSync(join(dir, "a.png"), "NEWDATA!");
|
|
232
|
+
const stored = { uploadId: "up-old", type: "image/png", size: 7, cid: serverCid(Buffer.from("PNGDATA")) };
|
|
233
|
+
const { h, ctx } = makeHarness({ _files: { "a.png": stored } });
|
|
234
|
+
await runPut(ctx, h, { ...basePut, files: ["a.png"] });
|
|
235
|
+
expect(h.uploads).toHaveLength(1);
|
|
236
|
+
expect(putFiles(h)["a.png"].uploadId).toBe("up-g1");
|
|
237
|
+
expect(putFiles(h)["a.png"].size).toBe(8);
|
|
238
|
+
});
|
|
239
|
+
it("merge: stored keys survive, JSON entries win over stored, matched files win over both", async () => {
|
|
240
|
+
writeFileSync(join(dir, "c.png"), "CCC");
|
|
241
|
+
const { h, ctx } = makeHarness({
|
|
242
|
+
_files: {
|
|
243
|
+
"a.png": { uploadId: "stored-a", type: "image/png", size: 1 },
|
|
244
|
+
"b.png": { uploadId: "stored-b", type: "image/png", size: 1 },
|
|
245
|
+
"c.png": { uploadId: "stored-c", type: "image/png", size: 1 },
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
const docJson = JSON.stringify({
|
|
249
|
+
_id: "shot:1",
|
|
250
|
+
_files: {
|
|
251
|
+
"b.png": { uploadId: "json-b", type: "image/png", size: 2 },
|
|
252
|
+
"c.png": { uploadId: "json-c", type: "image/png", size: 2 },
|
|
253
|
+
},
|
|
254
|
+
});
|
|
255
|
+
await runPut(ctx, h, { ...basePut, docJson, files: ["c.png"] });
|
|
256
|
+
const files = putFiles(h);
|
|
257
|
+
expect(files["a.png"].uploadId).toBe("stored-a");
|
|
258
|
+
expect(files["b.png"].uploadId).toBe("json-b");
|
|
259
|
+
expect(files["c.png"].uploadId).toBe("up-g1");
|
|
260
|
+
});
|
|
261
|
+
it("a read-denied existing doc counts as none and the put still goes out", async () => {
|
|
262
|
+
writeFileSync(join(dir, "a.png"), "PNGDATA");
|
|
263
|
+
const { h, ctx } = makeHarness(undefined, { getDocDenied: true });
|
|
264
|
+
const r = await runPut(ctx, h, { ...basePut, files: ["a.png"] });
|
|
265
|
+
expect(r.isOk()).toBe(true);
|
|
266
|
+
expect(h.uploads).toHaveLength(1);
|
|
267
|
+
expect(h.putCalls).toHaveLength(1);
|
|
268
|
+
});
|
|
269
|
+
it("a pattern that matches nothing fails before anything is uploaded or put", async () => {
|
|
270
|
+
const { h, ctx } = makeHarness(undefined);
|
|
271
|
+
const r = await runPut(ctx, h, { ...basePut, files: ["nope-*.png"] });
|
|
272
|
+
expect(r.isErr()).toBe(true);
|
|
273
|
+
expect(h.uploads).toHaveLength(0);
|
|
274
|
+
expect(h.putCalls).toHaveLength(0);
|
|
275
|
+
});
|
|
276
|
+
it("the KYC wall reads as the CLI sentence", async () => {
|
|
277
|
+
writeFileSync(join(dir, "a.bin"), "BIN");
|
|
278
|
+
const { h, ctx } = makeHarness(undefined);
|
|
279
|
+
const api = ctx.vibesDiyApiFactory?.("x");
|
|
280
|
+
api.requestAssetUploadGrant.mockImplementationOnce(() => Promise.resolve(Result.Err(mkResError("Add a card to upload files that aren't images.", "kyc-required"))));
|
|
281
|
+
const r = await runPut(ctx, h, { ...basePut, files: ["a.bin"] });
|
|
282
|
+
expect(r.isErr()).toBe(true);
|
|
283
|
+
expect(r.Err().message).toBe("Add a card to upload files that aren't images.");
|
|
284
|
+
expect(h.putCalls).toHaveLength(0);
|
|
285
|
+
});
|
|
286
|
+
it("without --file the put is untouched: no read, no _files", async () => {
|
|
287
|
+
const { h, ctx } = makeHarness({ _files: { "a.png": { uploadId: "x", type: "image/png", size: 1 } } });
|
|
288
|
+
await runPut(ctx, h, basePut);
|
|
289
|
+
expect(h.putCalls[0].doc).toEqual({ _id: "shot:1", type: "shot" });
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
describe("--files is --file", () => {
|
|
293
|
+
async function enqueued(argv) {
|
|
294
|
+
const ctx = {
|
|
295
|
+
sthis: { env: { get: () => undefined } },
|
|
296
|
+
cliStream: createCliStream(),
|
|
297
|
+
output: { stdout: () => undefined, stderr: () => undefined },
|
|
298
|
+
exitCode: 0,
|
|
299
|
+
};
|
|
300
|
+
const reader = ctx.cliStream.stream.getReader();
|
|
301
|
+
const firstRead = reader.read();
|
|
302
|
+
await run(dbPutCmd(ctx), argv);
|
|
303
|
+
const first = await firstRead;
|
|
304
|
+
await ctx.cliStream.close();
|
|
305
|
+
return first.value.result;
|
|
306
|
+
}
|
|
307
|
+
const base = ["--vibe", "jchris-coder/session-test", "--db", "shots", "{}"];
|
|
308
|
+
it("both spellings land in the same list, repeatable and mixed", async () => {
|
|
309
|
+
expect((await enqueued([...base, "--file", "a.png"])).files).toEqual(["a.png"]);
|
|
310
|
+
expect((await enqueued([...base, "--files", "a.png"])).files).toEqual(["a.png"]);
|
|
311
|
+
expect((await enqueued([...base, "--file", "a.png", "--files", "*.jpg", "--file", "b.png"])).files).toEqual([
|
|
312
|
+
"a.png",
|
|
313
|
+
"b.png",
|
|
314
|
+
"*.jpg",
|
|
315
|
+
]);
|
|
316
|
+
expect((await enqueued(base)).files).toEqual([]);
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
describe("db put --file records what the server stored", () => {
|
|
320
|
+
it("writes the cid and size the upload returned, not the pre-upload fingerprint", async () => {
|
|
321
|
+
writeFileSync(join(dir, "a.png"), "PNGDATA");
|
|
322
|
+
const { h, ctx } = makeHarness(undefined, { serverStored: { cid: "zServerSide", size: 9 } });
|
|
323
|
+
await runPut(ctx, h, { ...basePut, files: ["a.png"] });
|
|
324
|
+
expect(putFiles(h)["a.png"]).toMatchObject({ cid: "zServerSide", size: 9 });
|
|
325
|
+
});
|
|
326
|
+
it("a file named __proto__ lands as an own _files key", async () => {
|
|
327
|
+
writeFileSync(join(dir, "__proto__"), "BYTES");
|
|
328
|
+
const { h, ctx } = makeHarness(undefined);
|
|
329
|
+
await runPut(ctx, h, { ...basePut, files: ["__proto__"] });
|
|
330
|
+
const files = putFiles(h);
|
|
331
|
+
expect(Object.prototype.hasOwnProperty.call(files, "__proto__")).toBe(true);
|
|
332
|
+
expect(JSON.stringify(files)).toContain('"__proto__":{"uploadId":"up-g1"');
|
|
333
|
+
});
|
|
334
|
+
});
|
|
335
|
+
describe("inferMimeType", () => {
|
|
336
|
+
it("reads the mime database, not a short table", () => {
|
|
337
|
+
expect(inferMimeType("a.png")).toBe("image/png");
|
|
338
|
+
expect(inferMimeType("report.pdf")).toBe("application/pdf");
|
|
339
|
+
expect(inferMimeType("notes.md")).toBe("text/markdown");
|
|
340
|
+
expect(inferMimeType("clip.mp4")).toBe("video/mp4");
|
|
341
|
+
expect(inferMimeType("no-extension")).toBe("application/octet-stream");
|
|
342
|
+
});
|
|
343
|
+
});
|
|
344
|
+
//# sourceMappingURL=put-files.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put-files.test.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/put-files.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function inferMimeType(filename: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infer-mime-type.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/infer-mime-type.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,0BAA0B,CAAC;AAC9D,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { resolveHandle } from "../resolve-handle.js";
|
|
|
8
8
|
import { HANDLE_REQUIRED_CLI_MESSAGE } from "../handle-required.js";
|
|
9
9
|
import { resolveVibeArgs } from "../parse-vibe.js";
|
|
10
10
|
import { KYC_REQUIRED_CLI_MESSAGE, KYC_REQUIRED_MARKER, putAssetFile } from "./put-asset-core.js";
|
|
11
|
+
import { inferMimeType } from "./infer-mime-type.js";
|
|
11
12
|
export const ReqPutAsset = type({
|
|
12
13
|
type: "'vibes-diy.cli.put-asset'",
|
|
13
14
|
file: "string",
|
|
@@ -31,34 +32,6 @@ export const ResPutAssetCli = type({
|
|
|
31
32
|
export function isResPutAssetCli(obj) {
|
|
32
33
|
return !(ResPutAssetCli(obj) instanceof type.errors);
|
|
33
34
|
}
|
|
34
|
-
function inferMimeType(filename) {
|
|
35
|
-
const ext = filename.toLowerCase().split(".").pop();
|
|
36
|
-
switch (ext) {
|
|
37
|
-
case "png":
|
|
38
|
-
return "image/png";
|
|
39
|
-
case "jpg":
|
|
40
|
-
case "jpeg":
|
|
41
|
-
return "image/jpeg";
|
|
42
|
-
case "gif":
|
|
43
|
-
return "image/gif";
|
|
44
|
-
case "webp":
|
|
45
|
-
return "image/webp";
|
|
46
|
-
case "svg":
|
|
47
|
-
return "image/svg+xml";
|
|
48
|
-
case "txt":
|
|
49
|
-
return "text/plain";
|
|
50
|
-
case "json":
|
|
51
|
-
return "application/json";
|
|
52
|
-
case "html":
|
|
53
|
-
return "text/html";
|
|
54
|
-
case "css":
|
|
55
|
-
return "text/css";
|
|
56
|
-
case "js":
|
|
57
|
-
return "application/javascript";
|
|
58
|
-
default:
|
|
59
|
-
return "application/octet-stream";
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
35
|
function hostRoot(apiUrl) {
|
|
63
36
|
const u = URI.from(apiUrl).asURL();
|
|
64
37
|
return `${u.protocol}//${u.host}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-asset-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/put-asset-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAEL,MAAM,EAEN,MAAM,EAGN,gBAAgB,EAChB,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAU,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,EAAgB,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"put-asset-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/put-asset-cmd.ts"],"names":[],"mappings":"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"}
|
package/cli/main.js
CHANGED
|
@@ -304,7 +304,7 @@ async function main() {
|
|
|
304
304
|
}
|
|
305
305
|
case isResDbPut(msg): {
|
|
306
306
|
const r = msg;
|
|
307
|
-
console.log(JSON.stringify({ id: r.id, ok: r.ok }, null, 2));
|
|
307
|
+
console.log(JSON.stringify({ id: r.id, ok: r.ok, ...(r.files ? { files: r.files } : {}) }, null, 2));
|
|
308
308
|
break;
|
|
309
309
|
}
|
|
310
310
|
case isResDbDel(msg): {
|
package/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../jsr/cli/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../jsr/cli/main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibes-diy",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.106",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"description": "Command-line tool for vibes.diy — generate, edit, pull, push, and publish AI-built apps",
|
|
@@ -30,16 +30,18 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@adviser/cement": "~0.5.34",
|
|
32
32
|
"@modelcontextprotocol/sdk": "~1.32.1",
|
|
33
|
-
"@vibes.diy/api-impl": "14.3.
|
|
34
|
-
"@vibes.diy/api-types": "14.3.
|
|
35
|
-
"@vibes.diy/call-ai-v2": "14.3.
|
|
36
|
-
"@vibes.diy/cmd-harness": "14.3.
|
|
37
|
-
"@vibes.diy/cmd-tools": "14.3.
|
|
38
|
-
"@vibes.diy/identity": "14.3.
|
|
39
|
-
"@vibes.diy/prompts": "14.3.
|
|
33
|
+
"@vibes.diy/api-impl": "14.3.106",
|
|
34
|
+
"@vibes.diy/api-types": "14.3.106",
|
|
35
|
+
"@vibes.diy/call-ai-v2": "14.3.106",
|
|
36
|
+
"@vibes.diy/cmd-harness": "14.3.106",
|
|
37
|
+
"@vibes.diy/cmd-tools": "14.3.106",
|
|
38
|
+
"@vibes.diy/identity": "14.3.106",
|
|
39
|
+
"@vibes.diy/prompts": "14.3.106",
|
|
40
40
|
"arktype": "~2.2.6",
|
|
41
41
|
"charwise": "~3.0.1",
|
|
42
42
|
"cmd-ts": "~0.15.0",
|
|
43
|
+
"mime": "~4.1.0",
|
|
44
|
+
"multiformats": "~14.0.5",
|
|
43
45
|
"tsx": "~4.23.15",
|
|
44
46
|
"zod": "~4.4.3",
|
|
45
47
|
"zx": "~8.8.5"
|