@atproto/api 0.6.6 → 0.6.8
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/bsky-agent.d.ts +24 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +134 -8
- package/dist/index.js.map +4 -4
- package/dist/types.d.ts +10 -0
- package/package.json +2 -2
- package/src/bsky-agent.ts +181 -1
- package/src/client/index.ts +36 -39
- package/src/client/lexicons.ts +76 -129
- package/src/client/types/com/atproto/sync/getCheckout.ts +0 -2
- package/src/client/types/com/atproto/sync/{getCommitPath.ts → getLatestCommit.ts} +9 -5
- package/src/client/types/com/atproto/sync/getRepo.ts +2 -4
- package/src/client/types/com/atproto/sync/listBlobs.ts +5 -4
- package/src/client/types/com/atproto/sync/subscribeRepos.ts +5 -1
- package/src/client/types/com/atproto/{admin/rebaseRepo.ts → temp/upgradeRepoVersion.ts} +1 -18
- package/src/index.ts +1 -1
- package/src/types.ts +20 -0
- package/tests/bsky-agent.test.ts +149 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/src/client/types/com/atproto/repo/rebaseRepo.ts +0 -49
package/dist/bsky-agent.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AtpAgent } from './agent';
|
|
2
2
|
import { AppBskyFeedPost, AppBskyActorProfile } from './client';
|
|
3
|
+
import { BskyPreferences, BskyLabelPreference } from './types';
|
|
3
4
|
export declare class BskyAgent extends AtpAgent {
|
|
4
5
|
get app(): import("./client").AppNS;
|
|
5
6
|
getTimeline: typeof this.api.app.bsky.feed.getTimeline;
|
|
@@ -43,4 +44,27 @@ export declare class BskyAgent extends AtpAgent {
|
|
|
43
44
|
mute(actor: string): Promise<import("./client/types/app/bsky/graph/muteActor").Response>;
|
|
44
45
|
unmute(actor: string): Promise<import("./client/types/app/bsky/graph/unmuteActor").Response>;
|
|
45
46
|
updateSeenNotifications(seenAt?: string): Promise<import("./client/types/app/bsky/notification/updateSeen").Response>;
|
|
47
|
+
getPreferences(): Promise<BskyPreferences>;
|
|
48
|
+
setSavedFeeds(saved: string[], pinned: string[]): Promise<{
|
|
49
|
+
saved: string[];
|
|
50
|
+
pinned: string[];
|
|
51
|
+
}>;
|
|
52
|
+
addSavedFeed(v: string): Promise<{
|
|
53
|
+
saved: string[];
|
|
54
|
+
pinned: string[];
|
|
55
|
+
}>;
|
|
56
|
+
removeSavedFeed(v: string): Promise<{
|
|
57
|
+
saved: string[];
|
|
58
|
+
pinned: string[];
|
|
59
|
+
}>;
|
|
60
|
+
addPinnedFeed(v: string): Promise<{
|
|
61
|
+
saved: string[];
|
|
62
|
+
pinned: string[];
|
|
63
|
+
}>;
|
|
64
|
+
removePinnedFeed(v: string): Promise<{
|
|
65
|
+
saved: string[];
|
|
66
|
+
pinned: string[];
|
|
67
|
+
}>;
|
|
68
|
+
setAdultContentEnabled(v: boolean): Promise<void>;
|
|
69
|
+
setContentLabelPref(key: string, value: BskyLabelPreference): Promise<void>;
|
|
46
70
|
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -8870,8 +8870,8 @@ var require_dist = __commonJS({
|
|
|
8870
8870
|
});
|
|
8871
8871
|
|
|
8872
8872
|
// src/index.ts
|
|
8873
|
-
var
|
|
8874
|
-
__export(
|
|
8873
|
+
var src_exports2 = {};
|
|
8874
|
+
__export(src_exports2, {
|
|
8875
8875
|
APP_BSKY_GRAPH: () => APP_BSKY_GRAPH,
|
|
8876
8876
|
ActorNS: () => ActorNS,
|
|
8877
8877
|
AdminNS: () => AdminNS,
|
|
@@ -9047,9 +9047,9 @@ __export(src_exports4, {
|
|
|
9047
9047
|
sanitizeRichText: () => sanitizeRichText,
|
|
9048
9048
|
stringifyLex: () => stringifyLex
|
|
9049
9049
|
});
|
|
9050
|
-
module.exports = __toCommonJS(
|
|
9050
|
+
module.exports = __toCommonJS(src_exports2);
|
|
9051
9051
|
|
|
9052
|
-
// ../
|
|
9052
|
+
// ../syntax/src/handle.ts
|
|
9053
9053
|
var ensureValidHandle = (handle2) => {
|
|
9054
9054
|
if (!/^[a-zA-Z0-9.-]*$/.test(handle2)) {
|
|
9055
9055
|
throw new InvalidHandleError(
|
|
@@ -9086,7 +9086,7 @@ var ensureValidHandle = (handle2) => {
|
|
|
9086
9086
|
var InvalidHandleError = class extends Error {
|
|
9087
9087
|
};
|
|
9088
9088
|
|
|
9089
|
-
// ../
|
|
9089
|
+
// ../syntax/src/did.ts
|
|
9090
9090
|
var ensureValidDid = (did2) => {
|
|
9091
9091
|
if (!/^[a-zA-Z0-9._:%-]*$/.test(did2)) {
|
|
9092
9092
|
throw new InvalidDidError(
|
|
@@ -9115,7 +9115,7 @@ var ensureValidDid = (did2) => {
|
|
|
9115
9115
|
var InvalidDidError = class extends Error {
|
|
9116
9116
|
};
|
|
9117
9117
|
|
|
9118
|
-
// ../
|
|
9118
|
+
// ../syntax/src/nsid.ts
|
|
9119
9119
|
var NSID = class {
|
|
9120
9120
|
constructor(nsid2) {
|
|
9121
9121
|
this.segments = [];
|
|
@@ -9183,7 +9183,7 @@ var ensureValidNsid = (nsid2) => {
|
|
|
9183
9183
|
var InvalidNsidError = class extends Error {
|
|
9184
9184
|
};
|
|
9185
9185
|
|
|
9186
|
-
// ../
|
|
9186
|
+
// ../syntax/src/aturi_validation.ts
|
|
9187
9187
|
var ensureValidAtUri = (uri2) => {
|
|
9188
9188
|
const uriParts = uri2.split("#");
|
|
9189
9189
|
if (uriParts.length > 2) {
|
|
@@ -9252,7 +9252,7 @@ var ensureValidAtUri = (uri2) => {
|
|
|
9252
9252
|
}
|
|
9253
9253
|
};
|
|
9254
9254
|
|
|
9255
|
-
// ../
|
|
9255
|
+
// ../syntax/src/aturi.ts
|
|
9256
9256
|
var ATP_URI_REGEX = /^(at:\/\/)?((?:did:[a-z0-9:%-]+)|(?:[a-z0-9][a-z0-9.:-]*))(\/[^?#\s]*)?(\?[^#\s]+)?(#[^\s]+)?$/i;
|
|
9257
9257
|
var RELATIVE_REGEX = /^(\/[^?#\s]*)?(\?[^#\s]+)?(#[^\s]+)?$/i;
|
|
9258
9258
|
var AtUri = class {
|
|
@@ -29154,5 +29154,131 @@ var BskyAgent = class extends AtpAgent {
|
|
|
29154
29154
|
seenAt
|
|
29155
29155
|
});
|
|
29156
29156
|
}
|
|
29157
|
+
async getPreferences() {
|
|
29158
|
+
const prefs = {
|
|
29159
|
+
feeds: {
|
|
29160
|
+
saved: void 0,
|
|
29161
|
+
pinned: void 0
|
|
29162
|
+
},
|
|
29163
|
+
adultContentEnabled: false,
|
|
29164
|
+
contentLabels: {}
|
|
29165
|
+
};
|
|
29166
|
+
const res = await this.app.bsky.actor.getPreferences({});
|
|
29167
|
+
for (const pref of res.data.preferences) {
|
|
29168
|
+
if (defs_exports5.isAdultContentPref(pref) && defs_exports5.validateAdultContentPref(pref).success) {
|
|
29169
|
+
prefs.adultContentEnabled = pref.enabled;
|
|
29170
|
+
} else if (defs_exports5.isContentLabelPref(pref) && defs_exports5.validateAdultContentPref(pref).success) {
|
|
29171
|
+
let value = pref.visibility;
|
|
29172
|
+
if (value === "show") {
|
|
29173
|
+
value = "ignore";
|
|
29174
|
+
}
|
|
29175
|
+
if (value === "ignore" || value === "warn" || value === "hide") {
|
|
29176
|
+
prefs.contentLabels[pref.label] = value;
|
|
29177
|
+
}
|
|
29178
|
+
} else if (defs_exports5.isSavedFeedsPref(pref) && defs_exports5.validateSavedFeedsPref(pref).success) {
|
|
29179
|
+
prefs.feeds.saved = pref.saved;
|
|
29180
|
+
prefs.feeds.pinned = pref.pinned;
|
|
29181
|
+
}
|
|
29182
|
+
}
|
|
29183
|
+
return prefs;
|
|
29184
|
+
}
|
|
29185
|
+
async setSavedFeeds(saved, pinned) {
|
|
29186
|
+
return updateFeedPreferences(this, () => ({
|
|
29187
|
+
saved,
|
|
29188
|
+
pinned
|
|
29189
|
+
}));
|
|
29190
|
+
}
|
|
29191
|
+
async addSavedFeed(v) {
|
|
29192
|
+
return updateFeedPreferences(this, (saved, pinned) => ({
|
|
29193
|
+
saved: [...saved.filter((uri2) => uri2 !== v), v],
|
|
29194
|
+
pinned
|
|
29195
|
+
}));
|
|
29196
|
+
}
|
|
29197
|
+
async removeSavedFeed(v) {
|
|
29198
|
+
return updateFeedPreferences(this, (saved, pinned) => ({
|
|
29199
|
+
saved: saved.filter((uri2) => uri2 !== v),
|
|
29200
|
+
pinned: pinned.filter((uri2) => uri2 !== v)
|
|
29201
|
+
}));
|
|
29202
|
+
}
|
|
29203
|
+
async addPinnedFeed(v) {
|
|
29204
|
+
return updateFeedPreferences(this, (saved, pinned) => ({
|
|
29205
|
+
saved: [...saved.filter((uri2) => uri2 !== v), v],
|
|
29206
|
+
pinned: [...pinned.filter((uri2) => uri2 !== v), v]
|
|
29207
|
+
}));
|
|
29208
|
+
}
|
|
29209
|
+
async removePinnedFeed(v) {
|
|
29210
|
+
return updateFeedPreferences(this, (saved, pinned) => ({
|
|
29211
|
+
saved,
|
|
29212
|
+
pinned: pinned.filter((uri2) => uri2 !== v)
|
|
29213
|
+
}));
|
|
29214
|
+
}
|
|
29215
|
+
async setAdultContentEnabled(v) {
|
|
29216
|
+
await updatePreferences(this, (prefs) => {
|
|
29217
|
+
const existing = prefs.find(
|
|
29218
|
+
(pref) => defs_exports5.isAdultContentPref(pref) && defs_exports5.validateAdultContentPref(pref).success
|
|
29219
|
+
);
|
|
29220
|
+
if (existing) {
|
|
29221
|
+
existing.enabled = v;
|
|
29222
|
+
} else {
|
|
29223
|
+
prefs.push({
|
|
29224
|
+
$type: "app.bsky.actor.defs#adultContentPref",
|
|
29225
|
+
enabled: v
|
|
29226
|
+
});
|
|
29227
|
+
}
|
|
29228
|
+
return prefs;
|
|
29229
|
+
});
|
|
29230
|
+
}
|
|
29231
|
+
async setContentLabelPref(key, value) {
|
|
29232
|
+
if (value === "show") {
|
|
29233
|
+
value = "ignore";
|
|
29234
|
+
}
|
|
29235
|
+
await updatePreferences(this, (prefs) => {
|
|
29236
|
+
const existing = prefs.find(
|
|
29237
|
+
(pref) => defs_exports5.isContentLabelPref(pref) && defs_exports5.validateAdultContentPref(pref).success && pref.label === key
|
|
29238
|
+
);
|
|
29239
|
+
if (existing) {
|
|
29240
|
+
existing.visibility = value;
|
|
29241
|
+
} else {
|
|
29242
|
+
prefs.push({
|
|
29243
|
+
$type: "app.bsky.actor.defs#contentLabelPref",
|
|
29244
|
+
label: key,
|
|
29245
|
+
visibility: value
|
|
29246
|
+
});
|
|
29247
|
+
}
|
|
29248
|
+
return prefs;
|
|
29249
|
+
});
|
|
29250
|
+
}
|
|
29157
29251
|
};
|
|
29252
|
+
async function updatePreferences(agent, cb) {
|
|
29253
|
+
const res = await agent.app.bsky.actor.getPreferences({});
|
|
29254
|
+
const newPrefs = cb(res.data.preferences);
|
|
29255
|
+
if (newPrefs === false) {
|
|
29256
|
+
return;
|
|
29257
|
+
}
|
|
29258
|
+
await agent.app.bsky.actor.putPreferences({
|
|
29259
|
+
preferences: newPrefs
|
|
29260
|
+
});
|
|
29261
|
+
}
|
|
29262
|
+
async function updateFeedPreferences(agent, cb) {
|
|
29263
|
+
let res;
|
|
29264
|
+
await updatePreferences(agent, (prefs) => {
|
|
29265
|
+
let feedsPref = prefs.find(
|
|
29266
|
+
(pref) => defs_exports5.isSavedFeedsPref(pref) && defs_exports5.validateSavedFeedsPref(pref).success
|
|
29267
|
+
);
|
|
29268
|
+
if (feedsPref) {
|
|
29269
|
+
res = cb(feedsPref.saved, feedsPref.pinned);
|
|
29270
|
+
feedsPref.saved = res.saved;
|
|
29271
|
+
feedsPref.pinned = res.pinned;
|
|
29272
|
+
} else {
|
|
29273
|
+
res = cb([], []);
|
|
29274
|
+
feedsPref = {
|
|
29275
|
+
$type: "app.bsky.actor.defs#savedFeedsPref",
|
|
29276
|
+
saved: res.saved,
|
|
29277
|
+
pinned: res.pinned
|
|
29278
|
+
};
|
|
29279
|
+
}
|
|
29280
|
+
return prefs.filter((pref) => !defs_exports5.isSavedFeedsPref(pref)).concat([feedsPref]);
|
|
29281
|
+
});
|
|
29282
|
+
return res;
|
|
29283
|
+
}
|
|
29158
29284
|
//# sourceMappingURL=index.js.map
|