@whitewall/blip-sdk 0.0.195 → 0.0.197

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.
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MediaNamespace = void 0;
4
+ const index_ts_1 = require("../types/index.js");
5
+ const logger_ts_1 = require("../utils/logger.js");
4
6
  const uri_ts_1 = require("../utils/uri.js");
5
7
  const namespace_ts_1 = require("./namespace.js");
6
8
  class MediaNamespace extends namespace_ts_1.Namespace {
@@ -28,13 +30,46 @@ class MediaNamespace extends namespace_ts_1.Namespace {
28
30
  const { mediaUri } = await uploadResponse.json();
29
31
  return mediaUri;
30
32
  }
31
- async refreshMedia(url, opts) {
32
- return await this.sendCommand({
33
- method: 'set',
34
- uri: (0, uri_ts_1.uri) `/refresh-media-uri`,
35
- type: 'text/plain',
36
- resource: url,
37
- }, opts);
33
+ async refreshMedia(target, opts) {
34
+ if (typeof target === 'string') {
35
+ return await this.sendCommand({
36
+ method: 'set',
37
+ uri: (0, uri_ts_1.uri) `/refresh-media-uri`,
38
+ type: 'text/plain',
39
+ resource: target,
40
+ }, opts);
41
+ }
42
+ if ((0, index_ts_1.isDocumentOfType)(target, 'application/vnd.lime.media-link+json')) {
43
+ return {
44
+ ...target,
45
+ value: { ...target.value, uri: await this.tryRefreshUri(target.value.uri, opts) },
46
+ };
47
+ }
48
+ if ((0, index_ts_1.isDocumentOfType)(target, 'application/vnd.lime.collection+json')) {
49
+ const { itemType, items } = target.value;
50
+ const refreshed = await Promise.all(items.map((item) => this.refreshMedia({ type: itemType, value: item }, opts)));
51
+ return { ...target, value: { ...target.value, items: refreshed.map((item) => item.value) } };
52
+ }
53
+ if ((0, index_ts_1.isDocumentOfType)(target, 'application/vnd.lime.reply+json')) {
54
+ const [replied, inReplyTo] = await Promise.all([
55
+ this.refreshMedia(target.value.replied, opts),
56
+ this.refreshMedia(target.value.inReplyTo, opts),
57
+ ]);
58
+ return { ...target, value: { replied, inReplyTo } };
59
+ }
60
+ return target;
61
+ }
62
+ async tryRefreshUri(url, opts) {
63
+ if (!URL.canParse(url)) {
64
+ return url;
65
+ }
66
+ try {
67
+ return await this.refreshMedia(url, opts);
68
+ }
69
+ catch (error) {
70
+ logger_ts_1.logger.warn('media', `Failed to refresh media: ${url}`, error);
71
+ return url;
72
+ }
38
73
  }
39
74
  }
40
75
  exports.MediaNamespace = MediaNamespace;
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/namespaces/media.ts"],"names":[],"mappings":";;;AACA,4CAAqC;AACrC,iDAAwF;AAExF,MAAa,cAAe,SAAQ,wBAAS;IACzC,YAAY,UAAsB,EAAE,cAAmC;QACnE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,IAAqB;QAChD,OAAO,MAAM,IAAI,CAAC,WAAW,CACzB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,YAAG,EAAA,mBAAmB;SAC9B,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,QAAgB,EAChB,KAAoD,EACpD,IAAqB;QAErB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,QAAQ;aAC3B;YACD,IAAI,EAAE,KAAK;SACd,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,CAAC,UAAU,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAA;QAChD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,IAAqB;QACxD,OAAO,MAAM,IAAI,CAAC,WAAW,CACzB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,YAAG,EAAA,oBAAoB;YAC5B,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,GAAG;SAChB,EACD,IAAI,CACP,CAAA;IACL,CAAC;CACJ;AA9CD,wCA8CC"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/namespaces/media.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,12 @@ class ConnectionSender {
22
22
  }
23
23
  serializeOutboundEnvelope(envelope) {
24
24
  if (envelope.from && !envelope.pp) {
25
- envelope.pp = this.node;
25
+ const localIdentity = this.node.toIdentity();
26
+ const fromIsLocal = index_ts_1.Node.from(envelope.from).toIdentity() === localIdentity;
27
+ const toIsLocal = envelope.to ? index_ts_1.Node.from(envelope.to).toIdentity() === localIdentity : false;
28
+ if (!fromIsLocal && !toIsLocal) {
29
+ envelope.pp = this.node;
30
+ }
26
31
  }
27
32
  return JSON.stringify(envelope);
28
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":";;;AAAA,gDAY0B;AAE1B,+DAAsF;AACtF,2DAAoD;AAcpD,MAAM,gBAAgB,GAA8B,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAEvF,MAAa,gBAAgB;IACR,OAAO,CAAY;IACnB,KAAK,CAAM;IAE5B,YAAY,OAA8D;QACtE,IAAI,CAAC,KAAK,GAAG,eAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAA;QACpD,IAAI,CAAC,OAAO;YACR,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,YAAY,CAAA;IAC/G,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAES,yBAAyB,CAAC,QAAkB;QAClD,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAC5C,MAAM,WAAW,GAAG,eAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,aAAa,CAAA;YAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,eAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAA;YAE7F,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAKS,MAAM,CAAC,KAAK,CAClB,UAA6B,EAC7B,mBAA4B,EAC5B,mBAA4B;QAE5B,IAAI,IAAc,CAAA;QAClB,IAAI,SAAiB,CAAA;QACrB,IAAI,QAA4B,CAAA;QAEhC,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAA;QAE/E,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;gBACpE,IAAI,GAAG,QAAQ,CAAA;gBACf,SAAS,GAAG,MAAM,CAAA;gBAClB,QAAQ,GAAG,mBAAmB,CAAA;YAClC,CAAC;YAAC,MAAM,CAAC;gBACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;gBACtE,CAAC;gBACD,IAAI,GAAG,eAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;gBAC1C,SAAS,GAAG,mBAAmB,CAAA;gBAC/B,QAAQ,GAAG,mBAAmB,CAAA;YAClC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;YAC/E,CAAC;YACD,IAAI,GAAG,eAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAC1C,SAAS,GAAG,mBAAmB,CAAA;YAC/B,QAAQ,GAAG,mBAAmB,CAAA;QAClC,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;YACZ,IAAI;YACJ,cAAc,EAAE;gBACZ,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,SAAS;aACjB;YACD,QAAQ;SACX,CAAM,CAAA;IACX,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAc,EAAE,MAAc;QACpD,MAAM,QAAQ,GAAG,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;QAC7C,OAAO,IAAI,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/D,IAAI,CAAC,oBAAoB,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,eAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAC/C,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,IAAI,eAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,CAAA;QAE/D,OAAO;YACH,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;SACpB,CAAA;IACL,CAAC;CACJ;AAzGD,4CAyGC;AAED,MAAsB,oBAAqB,SAAQ,gBAAgB;IAC5C,gBAAgB,GAAG,IAAI,sCAAgB,CAAC,IAAI,CAAC,CAAA;IACtD,iBAAiB,GAA6B,IAAI,CAAA;IAOrD,EAAE,CACL,EAAK,EACL,QAAiC,EACjC,SAAoC;QAEpC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE;YAClC,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;SACvB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,GAAG,CAA2B,EAAK,EAAE,QAAiC;QACzE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,iBAAiB,EAAE,OAAO,IAAI,IAAI,CAAA;IAClD,CAAC;IAED,IAAoB,IAAI;QACpB,sFAAsF;QACtF,OAAO,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC,IAAI,CAAA;IACnE,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;IAES,aAAa,CAAC,MAAc;QAClC,MAAM,KAAK,GAAG,IAAI,kCAAc,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;IACvD,CAAC;CACJ;AA7CD,oDA6CC"}
@@ -1,3 +1,5 @@
1
+ import { isDocumentOfType } from "../types/index.js";
2
+ import { logger } from "../utils/logger.js";
1
3
  import { uri } from "../utils/uri.js";
2
4
  import { Namespace } from "./namespace.js";
3
5
  export class MediaNamespace extends Namespace {
@@ -25,13 +27,46 @@ export class MediaNamespace extends Namespace {
25
27
  const { mediaUri } = await uploadResponse.json();
26
28
  return mediaUri;
27
29
  }
28
- async refreshMedia(url, opts) {
29
- return await this.sendCommand({
30
- method: 'set',
31
- uri: uri `/refresh-media-uri`,
32
- type: 'text/plain',
33
- resource: url,
34
- }, opts);
30
+ async refreshMedia(target, opts) {
31
+ if (typeof target === 'string') {
32
+ return await this.sendCommand({
33
+ method: 'set',
34
+ uri: uri `/refresh-media-uri`,
35
+ type: 'text/plain',
36
+ resource: target,
37
+ }, opts);
38
+ }
39
+ if (isDocumentOfType(target, 'application/vnd.lime.media-link+json')) {
40
+ return {
41
+ ...target,
42
+ value: { ...target.value, uri: await this.tryRefreshUri(target.value.uri, opts) },
43
+ };
44
+ }
45
+ if (isDocumentOfType(target, 'application/vnd.lime.collection+json')) {
46
+ const { itemType, items } = target.value;
47
+ const refreshed = await Promise.all(items.map((item) => this.refreshMedia({ type: itemType, value: item }, opts)));
48
+ return { ...target, value: { ...target.value, items: refreshed.map((item) => item.value) } };
49
+ }
50
+ if (isDocumentOfType(target, 'application/vnd.lime.reply+json')) {
51
+ const [replied, inReplyTo] = await Promise.all([
52
+ this.refreshMedia(target.value.replied, opts),
53
+ this.refreshMedia(target.value.inReplyTo, opts),
54
+ ]);
55
+ return { ...target, value: { replied, inReplyTo } };
56
+ }
57
+ return target;
58
+ }
59
+ async tryRefreshUri(url, opts) {
60
+ if (!URL.canParse(url)) {
61
+ return url;
62
+ }
63
+ try {
64
+ return await this.refreshMedia(url, opts);
65
+ }
66
+ catch (error) {
67
+ logger.warn('media', `Failed to refresh media: ${url}`, error);
68
+ return url;
69
+ }
35
70
  }
36
71
  }
37
72
  //# sourceMappingURL=media.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/namespaces/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAuB,SAAS,EAA2B,MAAM,gBAAgB,CAAA;AAExF,MAAM,OAAO,cAAe,SAAQ,SAAS;IACzC,YAAY,UAAsB,EAAE,cAAmC;QACnE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,IAAqB;QAChD,OAAO,MAAM,IAAI,CAAC,WAAW,CACzB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,mBAAmB;SAC9B,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,QAAgB,EAChB,KAAoD,EACpD,IAAqB;QAErB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,QAAQ;aAC3B;YACD,IAAI,EAAE,KAAK;SACd,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,CAAC,UAAU,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAA;QAChD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,IAAqB;QACxD,OAAO,MAAM,IAAI,CAAC,WAAW,CACzB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,oBAAoB;YAC5B,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,GAAG;SAChB,EACD,IAAI,CACP,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/namespaces/media.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,12 @@ export class ConnectionSender {
19
19
  }
20
20
  serializeOutboundEnvelope(envelope) {
21
21
  if (envelope.from && !envelope.pp) {
22
- envelope.pp = this.node;
22
+ const localIdentity = this.node.toIdentity();
23
+ const fromIsLocal = Node.from(envelope.from).toIdentity() === localIdentity;
24
+ const toIsLocal = envelope.to ? Node.from(envelope.to).toIdentity() === localIdentity : false;
25
+ if (!fromIsLocal && !toIsLocal) {
26
+ envelope.pp = this.node;
27
+ }
23
28
  }
24
29
  return JSON.stringify(envelope);
25
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"AAAA,OAAO,EAQH,IAAI,GAIP,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,gBAAgB,EAAgC,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAcpD,MAAM,gBAAgB,GAA8B,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAEvF,MAAM,OAAO,gBAAgB;IACR,OAAO,CAAY;IACnB,KAAK,CAAM;IAE5B,YAAY,OAA8D;QACtE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAA;QACpD,IAAI,CAAC,OAAO;YACR,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,YAAY,CAAA;IAC/G,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAES,yBAAyB,CAAC,QAAkB;QAClD,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,aAAa,CAAA;YAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAA;YAE7F,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAKS,MAAM,CAAC,KAAK,CAClB,UAA6B,EAC7B,mBAA4B,EAC5B,mBAA4B;QAE5B,IAAI,IAAc,CAAA;QAClB,IAAI,SAAiB,CAAA;QACrB,IAAI,QAA4B,CAAA;QAEhC,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAA;QAE/E,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;gBACpE,IAAI,GAAG,QAAQ,CAAA;gBACf,SAAS,GAAG,MAAM,CAAA;gBAClB,QAAQ,GAAG,mBAAmB,CAAA;YAClC,CAAC;YAAC,MAAM,CAAC;gBACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;gBACtE,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;gBAC1C,SAAS,GAAG,mBAAmB,CAAA;gBAC/B,QAAQ,GAAG,mBAAmB,CAAA;YAClC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;YAC/E,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAC1C,SAAS,GAAG,mBAAmB,CAAA;YAC/B,QAAQ,GAAG,mBAAmB,CAAA;QAClC,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;YACZ,IAAI;YACJ,cAAc,EAAE;gBACZ,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,SAAS;aACjB;YACD,QAAQ;SACX,CAAM,CAAA;IACX,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAc,EAAE,MAAc;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAA;QAC7C,OAAO,IAAI,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/D,IAAI,CAAC,oBAAoB,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAC/C,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,CAAA;QAE/D,OAAO;YACH,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;SACpB,CAAA;IACL,CAAC;CACJ;AAED,MAAM,OAAgB,oBAAqB,SAAQ,gBAAgB;IAC5C,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACtD,iBAAiB,GAA6B,IAAI,CAAA;IAOrD,EAAE,CACL,EAAK,EACL,QAAiC,EACjC,SAAoC;QAEpC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE;YAClC,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;SACvB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,GAAG,CAA2B,EAAK,EAAE,QAAiC;QACzE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,iBAAiB,EAAE,OAAO,IAAI,IAAI,CAAA;IAClD,CAAC;IAED,IAAoB,IAAI;QACpB,sFAAsF;QACtF,OAAO,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC,IAAI,CAAA;IACnE,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC;IAES,aAAa,CAAC,MAAc;QAClC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;IACvD,CAAC;CACJ"}
@@ -1,9 +1,12 @@
1
1
  import type { BlipClient } from '../client.ts';
2
+ import { type UnknownDocument } from '../types/index.ts';
2
3
  import { type ConsumeOptions, Namespace, type SendCommandOptions } from './namespace.ts';
3
4
  export declare class MediaNamespace extends Namespace {
4
5
  constructor(blipClient: BlipClient, defaultOptions?: SendCommandOptions);
5
6
  getMediaUploadUrl(opts?: ConsumeOptions): Promise<string>;
6
7
  uploadMedia(mimetype: string, media: BufferSource | Blob | string | ReadableStream, opts?: ConsumeOptions): Promise<string>;
7
8
  refreshMedia(url: string, opts?: ConsumeOptions): Promise<string>;
9
+ refreshMedia<TDocument extends UnknownDocument>(document: TDocument, opts?: ConsumeOptions): Promise<TDocument>;
10
+ private tryRefreshUri;
8
11
  }
9
12
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/namespaces/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,KAAK,cAAc,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExF,qBAAa,cAAe,SAAQ,SAAS;gBAC7B,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,kBAAkB;IAI1D,iBAAiB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD,WAAW,CACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,cAAc,EACpD,IAAI,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC;IAgBL,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAWjF"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/namespaces/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAG1E,OAAO,EAAE,KAAK,cAAc,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExF,qBAAa,cAAe,SAAQ,SAAS;gBAC7B,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,kBAAkB;IAI1D,iBAAiB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD,WAAW,CACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,cAAc,EACpD,IAAI,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC;IAgBL,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IACjE,YAAY,CAAC,SAAS,SAAS,eAAe,EACvD,QAAQ,EAAE,SAAS,EACnB,IAAI,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,SAAS,CAAC;YA6CP,aAAa;CAY9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,IAAI,EACJ,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,WAAW,MAAM;IACnB,WAAW,CAAC,IAAI,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7E,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAClE;AAED,MAAM,MAAM,2BAA2B,CACnC,OAAO,GAAG,MAAM,EAChB,KAAK,SAAS,cAAc,GAAG,cAAc,IAC7C,KAAK,OAAO,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAA;AAIzG,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAM;gBAEhB,OAAO,EAAE,qBAAqB,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAO1E,IAAW,IAAI,SAEd;IAED,IAAW,MAAM,eAEhB;IAED,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAQ/D,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACnH,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;WA6CzE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;WAK1C,UAAU,CAAC,KAAK,EAAE,MAAM;;;;CAqBzC;AAED,8BAAsB,oBAAqB,SAAQ,gBAAiB,YAAW,MAAM,EAAE,QAAQ;IAC3F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,mBAA6B;IAChE,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAE5D,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACtF,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACxE,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IACpE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtE,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC9B,EAAE,EAAE,CAAC,EACL,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EACjC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GACrC,IAAI;IAQA,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI;IAKpF,IAAW,OAAO,8DAEjB;IAED,IAAoB,IAAI,SAGvB;IAEM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM;CAKzC"}
1
+ {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/sender/sender.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitewall/blip-sdk",
3
- "version": "0.0.195",
3
+ "version": "0.0.197",
4
4
  "description": "Blip API wrapper",
5
5
  "exports": {
6
6
  "types": "./dist/types/index.d.ts",
@@ -1,4 +1,6 @@
1
1
  import type { BlipClient } from '../client.ts'
2
+ import { isDocumentOfType, type UnknownDocument } from '../types/index.ts'
3
+ import { logger } from '../utils/logger.ts'
2
4
  import { uri } from '../utils/uri.ts'
3
5
  import { type ConsumeOptions, Namespace, type SendCommandOptions } from './namespace.ts'
4
6
 
@@ -37,15 +39,65 @@ export class MediaNamespace extends Namespace {
37
39
  return mediaUri
38
40
  }
39
41
 
40
- public async refreshMedia(url: string, opts?: ConsumeOptions): Promise<string> {
41
- return await this.sendCommand(
42
- {
43
- method: 'set',
44
- uri: uri`/refresh-media-uri`,
45
- type: 'text/plain',
46
- resource: url,
47
- },
48
- opts,
49
- )
42
+ public async refreshMedia(url: string, opts?: ConsumeOptions): Promise<string>
43
+ public async refreshMedia<TDocument extends UnknownDocument>(
44
+ document: TDocument,
45
+ opts?: ConsumeOptions,
46
+ ): Promise<TDocument>
47
+ public async refreshMedia(
48
+ target: string | UnknownDocument,
49
+ opts?: ConsumeOptions,
50
+ ): Promise<string | UnknownDocument> {
51
+ if (typeof target === 'string') {
52
+ return await this.sendCommand(
53
+ {
54
+ method: 'set',
55
+ uri: uri`/refresh-media-uri`,
56
+ type: 'text/plain',
57
+ resource: target,
58
+ },
59
+ opts,
60
+ )
61
+ }
62
+
63
+ if (isDocumentOfType(target, 'application/vnd.lime.media-link+json')) {
64
+ return {
65
+ ...target,
66
+ value: { ...target.value, uri: await this.tryRefreshUri(target.value.uri, opts) },
67
+ }
68
+ }
69
+
70
+ if (isDocumentOfType(target, 'application/vnd.lime.collection+json')) {
71
+ const { itemType, items } = target.value
72
+ const refreshed = await Promise.all(
73
+ items.map((item) => this.refreshMedia({ type: itemType, value: item }, opts)),
74
+ )
75
+
76
+ return { ...target, value: { ...target.value, items: refreshed.map((item) => item.value) } }
77
+ }
78
+
79
+ if (isDocumentOfType(target, 'application/vnd.lime.reply+json')) {
80
+ const [replied, inReplyTo] = await Promise.all([
81
+ this.refreshMedia(target.value.replied, opts),
82
+ this.refreshMedia(target.value.inReplyTo, opts),
83
+ ])
84
+
85
+ return { ...target, value: { replied, inReplyTo } }
86
+ }
87
+
88
+ return target
89
+ }
90
+
91
+ private async tryRefreshUri(url: string, opts?: ConsumeOptions): Promise<string> {
92
+ if (!URL.canParse(url)) {
93
+ return url
94
+ }
95
+
96
+ try {
97
+ return await this.refreshMedia(url, opts)
98
+ } catch (error) {
99
+ logger.warn('media', `Failed to refresh media: ${url}`, error)
100
+ return url
101
+ }
50
102
  }
51
103
  }
@@ -50,7 +50,13 @@ export class ConnectionSender {
50
50
 
51
51
  protected serializeOutboundEnvelope(envelope: Envelope): string {
52
52
  if (envelope.from && !envelope.pp) {
53
- envelope.pp = this.node
53
+ const localIdentity = this.node.toIdentity()
54
+ const fromIsLocal = Node.from(envelope.from).toIdentity() === localIdentity
55
+ const toIsLocal = envelope.to ? Node.from(envelope.to).toIdentity() === localIdentity : false
56
+
57
+ if (!fromIsLocal && !toIsLocal) {
58
+ envelope.pp = this.node
59
+ }
54
60
  }
55
61
  return JSON.stringify(envelope)
56
62
  }