@vibes.diy/vibe-runtime 14.1.28 → 14.1.30
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/connection-providers.d.ts +5 -1
- package/connection-providers.js +10 -5
- package/connection-providers.js.map +1 -1
- package/package.json +3 -3
- package/social/index.d.ts +13 -0
- package/social/index.js +39 -0
- package/social/index.js.map +1 -1
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
export interface ConnectionScopeVocabulary {
|
|
2
|
+
readonly sentence: string;
|
|
3
|
+
readonly writes?: true;
|
|
4
|
+
}
|
|
1
5
|
export interface ConnectionProviderVocabulary {
|
|
2
6
|
readonly label: string;
|
|
3
|
-
readonly scopes: Readonly<Record<string,
|
|
7
|
+
readonly scopes: Readonly<Record<string, ConnectionScopeVocabulary>>;
|
|
4
8
|
}
|
|
5
9
|
export declare const CONNECTION_PROVIDER_VOCABULARY: Readonly<Record<string, ConnectionProviderVocabulary>>;
|
package/connection-providers.js
CHANGED
|
@@ -2,31 +2,36 @@ export const CONNECTION_PROVIDER_VOCABULARY = Object.freeze({
|
|
|
2
2
|
github: Object.freeze({
|
|
3
3
|
label: "GitHub",
|
|
4
4
|
scopes: Object.freeze({
|
|
5
|
-
"read:user": "Read your GitHub profile",
|
|
5
|
+
"read:user": Object.freeze({ sentence: "Read your GitHub profile" }),
|
|
6
6
|
}),
|
|
7
7
|
}),
|
|
8
8
|
threads: Object.freeze({
|
|
9
9
|
label: "Threads",
|
|
10
10
|
scopes: Object.freeze({
|
|
11
|
-
threads_basic: "Read your Threads profile and posts",
|
|
11
|
+
threads_basic: Object.freeze({ sentence: "Read your Threads profile and posts" }),
|
|
12
|
+
threads_content_publish: Object.freeze({ sentence: "Post to your Threads feed as you", writes: true }),
|
|
12
13
|
}),
|
|
13
14
|
}),
|
|
14
15
|
instagram: Object.freeze({
|
|
15
16
|
label: "Instagram",
|
|
16
17
|
scopes: Object.freeze({
|
|
17
|
-
instagram_business_basic: "Read your Instagram profile and posts",
|
|
18
|
+
instagram_business_basic: Object.freeze({ sentence: "Read your Instagram profile and posts" }),
|
|
19
|
+
instagram_business_content_publish: Object.freeze({
|
|
20
|
+
sentence: "Post photos and videos to your Instagram as you",
|
|
21
|
+
writes: true,
|
|
22
|
+
}),
|
|
18
23
|
}),
|
|
19
24
|
}),
|
|
20
25
|
tiktok: Object.freeze({
|
|
21
26
|
label: "TikTok",
|
|
22
27
|
scopes: Object.freeze({
|
|
23
|
-
"user.info.basic": "Read your TikTok profile",
|
|
28
|
+
"user.info.basic": Object.freeze({ sentence: "Read your TikTok profile" }),
|
|
24
29
|
}),
|
|
25
30
|
}),
|
|
26
31
|
linkedin: Object.freeze({
|
|
27
32
|
label: "LinkedIn",
|
|
28
33
|
scopes: Object.freeze({
|
|
29
|
-
profile: "Read your LinkedIn name and profile photo",
|
|
34
|
+
profile: Object.freeze({ sentence: "Read your LinkedIn name and profile photo" }),
|
|
30
35
|
}),
|
|
31
36
|
}),
|
|
32
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-providers.js","sourceRoot":"","sources":["../jsr/connection-providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection-providers.js","sourceRoot":"","sources":["../jsr/connection-providers.ts"],"names":[],"mappings":"AAyFA,MAAM,CAAC,MAAM,8BAA8B,GAA2D,MAAM,CAAC,MAAM,CAAC;IAClH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YAIpB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC;SAcrE,CAAC;KACH,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YAGpB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CAAC;YASjF,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAIvG,CAAC;KACH,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YAGpB,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,uCAAuC,EAAE,CAAC;YAO9F,kCAAkC,EAAE,MAAM,CAAC,MAAM,CAAC;gBAChD,QAAQ,EAAE,iDAAiD;gBAC3D,MAAM,EAAE,IAAI;aACb,CAAC;SAUH,CAAC;KACH,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YA0BpB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC;SAC3E,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YAiCpB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,2CAA2C,EAAE,CAAC;SAClF,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/vibe-runtime",
|
|
3
|
-
"version": "14.1.
|
|
3
|
+
"version": "14.1.30",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@adviser/cement": "~0.5.34",
|
|
30
|
-
"@vibes.diy/base": "14.1.
|
|
31
|
-
"@vibes.diy/vibe-types": "14.1.
|
|
30
|
+
"@vibes.diy/base": "14.1.30",
|
|
31
|
+
"@vibes.diy/vibe-types": "14.1.30",
|
|
32
32
|
"arktype": "~2.2.3",
|
|
33
33
|
"charwise": "~3.0.1",
|
|
34
34
|
"es-module-lexer": "~2.3.2",
|
package/social/index.d.ts
CHANGED
|
@@ -65,6 +65,13 @@ export declare function threads(ctx: SocialCtx): {
|
|
|
65
65
|
limit?: number;
|
|
66
66
|
cursor?: string;
|
|
67
67
|
}): Promise<ThreadsPage<ThreadsPost>>;
|
|
68
|
+
publish(opts: {
|
|
69
|
+
text?: string;
|
|
70
|
+
imageUrl?: string;
|
|
71
|
+
replyToId?: string;
|
|
72
|
+
}): Promise<{
|
|
73
|
+
id: string;
|
|
74
|
+
}>;
|
|
68
75
|
};
|
|
69
76
|
export interface InstagramProfile {
|
|
70
77
|
readonly id: string;
|
|
@@ -85,5 +92,11 @@ export declare function instagram(ctx: SocialCtx): {
|
|
|
85
92
|
limit?: number;
|
|
86
93
|
cursor?: string;
|
|
87
94
|
}): Promise<ThreadsPage<InstagramMedia>>;
|
|
95
|
+
publish(opts: {
|
|
96
|
+
imageUrl?: string;
|
|
97
|
+
caption?: string;
|
|
98
|
+
}): Promise<{
|
|
99
|
+
id: string;
|
|
100
|
+
}>;
|
|
88
101
|
};
|
|
89
102
|
export declare const SOCIAL_LIBRARY: "@vibes.diy/social";
|
package/social/index.js
CHANGED
|
@@ -39,6 +39,12 @@ async function getJson(ctx, provider, path) {
|
|
|
39
39
|
throw new ProviderResponseError(provider, path, res.status);
|
|
40
40
|
return (await res.json());
|
|
41
41
|
}
|
|
42
|
+
async function postJson(ctx, provider, path) {
|
|
43
|
+
const res = await ctx.connections.fetch(provider, path, { method: "POST" });
|
|
44
|
+
if (!res.ok)
|
|
45
|
+
throw new ProviderResponseError(provider, path, res.status);
|
|
46
|
+
return (await res.json());
|
|
47
|
+
}
|
|
42
48
|
function str(v) {
|
|
43
49
|
return typeof v === "string" ? v : typeof v === "number" ? String(v) : "";
|
|
44
50
|
}
|
|
@@ -84,6 +90,25 @@ export function threads(ctx) {
|
|
|
84
90
|
const hasNext = typeof j.paging?.next === "string" && j.paging.next.length > 0;
|
|
85
91
|
return hasNext && typeof after === "string" && after.length > 0 ? { items, cursor: after } : { items };
|
|
86
92
|
},
|
|
93
|
+
async publish(opts) {
|
|
94
|
+
const text = typeof opts.text === "string" ? opts.text : "";
|
|
95
|
+
const mediaType = opts.imageUrl ? "IMAGE" : "TEXT";
|
|
96
|
+
if (mediaType === "TEXT" && text.trim() === "")
|
|
97
|
+
throw new Error("threads.publish needs text or an imageUrl");
|
|
98
|
+
const create = new URLSearchParams({ media_type: mediaType });
|
|
99
|
+
if (text !== "")
|
|
100
|
+
create.set("text", text);
|
|
101
|
+
if (opts.imageUrl)
|
|
102
|
+
create.set("image_url", opts.imageUrl);
|
|
103
|
+
if (opts.replyToId)
|
|
104
|
+
create.set("reply_to_id", opts.replyToId);
|
|
105
|
+
const container = await postJson(ctx, "threads", `/v1.0/me/threads?${create}`);
|
|
106
|
+
const creationId = str(container.id);
|
|
107
|
+
if (creationId === "")
|
|
108
|
+
throw new ProviderResponseError("threads", "/v1.0/me/threads", 502);
|
|
109
|
+
const published = await postJson(ctx, "threads", `/v1.0/me/threads_publish?${new URLSearchParams({ creation_id: creationId })}`);
|
|
110
|
+
return { id: str(published.id) };
|
|
111
|
+
},
|
|
87
112
|
};
|
|
88
113
|
}
|
|
89
114
|
export function instagram(ctx) {
|
|
@@ -115,6 +140,20 @@ export function instagram(ctx) {
|
|
|
115
140
|
const hasNext = typeof j.paging?.next === "string" && j.paging.next.length > 0;
|
|
116
141
|
return hasNext && typeof after === "string" && after.length > 0 ? { items, cursor: after } : { items };
|
|
117
142
|
},
|
|
143
|
+
async publish(opts) {
|
|
144
|
+
const media = opts.imageUrl;
|
|
145
|
+
if (typeof media !== "string" || media === "")
|
|
146
|
+
throw new Error("instagram.publish needs an imageUrl");
|
|
147
|
+
const create = new URLSearchParams({ image_url: media });
|
|
148
|
+
if (opts.caption)
|
|
149
|
+
create.set("caption", opts.caption);
|
|
150
|
+
const container = await postJson(ctx, "instagram", `/v23.0/me/media?${create}`);
|
|
151
|
+
const creationId = str(container.id);
|
|
152
|
+
if (creationId === "")
|
|
153
|
+
throw new ProviderResponseError("instagram", "/v23.0/me/media", 502);
|
|
154
|
+
const published = await postJson(ctx, "instagram", `/v23.0/me/media_publish?${new URLSearchParams({ creation_id: creationId })}`);
|
|
155
|
+
return { id: str(published.id) };
|
|
156
|
+
},
|
|
118
157
|
};
|
|
119
158
|
}
|
|
120
159
|
export const SOCIAL_LIBRARY = "@vibes.diy/social";
|
package/social/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/social/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/social/index.ts"],"names":[],"mappings":"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"}
|