@atproto/bsync 0.0.25 → 0.0.26-next.0

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.
Files changed (130) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/bin/migration-create.ts +1 -1
  3. package/dist/client.d.ts +1 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +7 -12
  6. package/dist/client.js.map +1 -1
  7. package/dist/config.js +16 -24
  8. package/dist/config.js.map +1 -1
  9. package/dist/context.d.ts +6 -6
  10. package/dist/context.d.ts.map +1 -1
  11. package/dist/context.js +8 -36
  12. package/dist/context.js.map +1 -1
  13. package/dist/db/index.d.ts +6 -4
  14. package/dist/db/index.d.ts.map +1 -1
  15. package/dist/db/index.js +26 -101
  16. package/dist/db/index.js.map +1 -1
  17. package/dist/db/migrations/20240108T220751294Z-init.js +4 -8
  18. package/dist/db/migrations/20240108T220751294Z-init.js.map +1 -1
  19. package/dist/db/migrations/20240717T224303472Z-notif-ops.js +4 -8
  20. package/dist/db/migrations/20240717T224303472Z-notif-ops.js.map +1 -1
  21. package/dist/db/migrations/20250527T022203400Z-add-operation.js +5 -9
  22. package/dist/db/migrations/20250527T022203400Z-add-operation.js.map +1 -1
  23. package/dist/db/migrations/20250603T163446567Z-alter-operation.js +2 -6
  24. package/dist/db/migrations/20250603T163446567Z-alter-operation.js.map +1 -1
  25. package/dist/db/migrations/index.d.ts +4 -4
  26. package/dist/db/migrations/index.d.ts.map +1 -1
  27. package/dist/db/migrations/index.js +4 -40
  28. package/dist/db/migrations/index.js.map +1 -1
  29. package/dist/db/migrations/provider.js +2 -11
  30. package/dist/db/migrations/provider.js.map +1 -1
  31. package/dist/db/schema/index.d.ts +5 -5
  32. package/dist/db/schema/index.d.ts.map +1 -1
  33. package/dist/db/schema/index.js +1 -2
  34. package/dist/db/schema/index.js.map +1 -1
  35. package/dist/db/schema/mute_item.js +1 -4
  36. package/dist/db/schema/mute_item.js.map +1 -1
  37. package/dist/db/schema/mute_op.d.ts +1 -1
  38. package/dist/db/schema/mute_op.d.ts.map +1 -1
  39. package/dist/db/schema/mute_op.js +2 -5
  40. package/dist/db/schema/mute_op.js.map +1 -1
  41. package/dist/db/schema/notif_item.js +1 -4
  42. package/dist/db/schema/notif_item.js.map +1 -1
  43. package/dist/db/schema/notif_op.js +2 -5
  44. package/dist/db/schema/notif_op.js.map +1 -1
  45. package/dist/db/schema/operation.d.ts +2 -2
  46. package/dist/db/schema/operation.d.ts.map +1 -1
  47. package/dist/db/schema/operation.js +2 -5
  48. package/dist/db/schema/operation.js.map +1 -1
  49. package/dist/db/types.d.ts +3 -1
  50. package/dist/db/types.d.ts.map +1 -1
  51. package/dist/db/types.js +1 -2
  52. package/dist/db/types.js.map +1 -1
  53. package/dist/index.d.ts +7 -7
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +37 -88
  56. package/dist/index.js.map +1 -1
  57. package/dist/logger.js +8 -11
  58. package/dist/logger.js.map +1 -1
  59. package/dist/proto/bsync_connect.d.ts +1 -1
  60. package/dist/proto/bsync_connect.d.ts.map +1 -1
  61. package/dist/proto/bsync_connect.js +27 -30
  62. package/dist/proto/bsync_connect.js.map +1 -1
  63. package/dist/proto/bsync_pb.js +215 -747
  64. package/dist/proto/bsync_pb.js.map +1 -1
  65. package/dist/routes/add-mute-operation.d.ts +2 -2
  66. package/dist/routes/add-mute-operation.d.ts.map +1 -1
  67. package/dist/routes/add-mute-operation.js +28 -30
  68. package/dist/routes/add-mute-operation.js.map +1 -1
  69. package/dist/routes/add-notif-operation.d.ts +2 -2
  70. package/dist/routes/add-notif-operation.d.ts.map +1 -1
  71. package/dist/routes/add-notif-operation.js +14 -16
  72. package/dist/routes/add-notif-operation.js.map +1 -1
  73. package/dist/routes/auth.d.ts +1 -1
  74. package/dist/routes/auth.d.ts.map +1 -1
  75. package/dist/routes/auth.js +4 -8
  76. package/dist/routes/auth.js.map +1 -1
  77. package/dist/routes/delete-operations.d.ts +2 -2
  78. package/dist/routes/delete-operations.d.ts.map +1 -1
  79. package/dist/routes/delete-operations.js +11 -13
  80. package/dist/routes/delete-operations.js.map +1 -1
  81. package/dist/routes/index.d.ts +1 -1
  82. package/dist/routes/index.d.ts.map +1 -1
  83. package/dist/routes/index.js +19 -24
  84. package/dist/routes/index.js.map +1 -1
  85. package/dist/routes/put-operation.d.ts +2 -2
  86. package/dist/routes/put-operation.d.ts.map +1 -1
  87. package/dist/routes/put-operation.js +25 -27
  88. package/dist/routes/put-operation.js.map +1 -1
  89. package/dist/routes/scan-mute-operations.d.ts +2 -2
  90. package/dist/routes/scan-mute-operations.d.ts.map +1 -1
  91. package/dist/routes/scan-mute-operations.js +13 -15
  92. package/dist/routes/scan-mute-operations.js.map +1 -1
  93. package/dist/routes/scan-notif-operations.d.ts +2 -2
  94. package/dist/routes/scan-notif-operations.d.ts.map +1 -1
  95. package/dist/routes/scan-notif-operations.js +13 -15
  96. package/dist/routes/scan-notif-operations.js.map +1 -1
  97. package/dist/routes/scan-operations.d.ts +2 -2
  98. package/dist/routes/scan-operations.d.ts.map +1 -1
  99. package/dist/routes/scan-operations.js +13 -15
  100. package/dist/routes/scan-operations.js.map +1 -1
  101. package/dist/routes/util.js +12 -20
  102. package/dist/routes/util.js.map +1 -1
  103. package/{jest.config.js → jest.config.cjs} +8 -1
  104. package/package.json +14 -9
  105. package/src/client.ts +1 -1
  106. package/src/context.ts +7 -7
  107. package/src/db/index.ts +12 -8
  108. package/src/db/migrations/index.ts +4 -4
  109. package/src/db/schema/index.ts +5 -5
  110. package/src/db/schema/mute_op.ts +1 -1
  111. package/src/db/schema/operation.ts +2 -2
  112. package/src/db/types.ts +3 -1
  113. package/src/index.ts +17 -13
  114. package/src/proto/bsync_connect.ts +1 -1
  115. package/src/routes/add-mute-operation.ts +10 -7
  116. package/src/routes/add-notif-operation.ts +7 -7
  117. package/src/routes/auth.ts +1 -1
  118. package/src/routes/delete-operations.ts +5 -5
  119. package/src/routes/index.ts +9 -9
  120. package/src/routes/put-operation.ts +11 -8
  121. package/src/routes/scan-mute-operations.ts +6 -6
  122. package/src/routes/scan-notif-operations.ts +6 -6
  123. package/src/routes/scan-operations.ts +6 -6
  124. package/tests/delete-operations.test.ts +2 -2
  125. package/tests/mutes.test.ts +2 -2
  126. package/tests/notifications.test.ts +2 -2
  127. package/tests/operations.test.ts +2 -2
  128. package/tsconfig.build.json +1 -1
  129. package/tsconfig.build.tsbuildinfo +1 -1
  130. package/tsconfig.tests.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import events from 'node:events'\nimport http from 'node:http'\nimport { connectNodeAdapter } from '@connectrpc/connect-node'\nimport { HttpTerminator, createHttpTerminator } from 'http-terminator'\nimport { ServerConfig } from './config'\nimport { AppContext, AppContextOptions } from './context'\nimport { createMuteOpChannel } from './db/schema/mute_op'\nimport { createNotifOpChannel } from './db/schema/notif_op'\nimport { createOperationChannel } from './db/schema/operation'\nimport { dbLogger, loggerMiddleware } from './logger'\nimport routes from './routes'\n\nexport * from './config'\nexport * from './client'\nexport { Database } from './db'\nexport { AppContext } from './context'\nexport { httpLogger } from './logger'\n\nexport class BsyncService {\n public ctx: AppContext\n public server: http.Server\n private ac: AbortController\n private terminator: HttpTerminator\n private dbStatsInterval?: NodeJS.Timeout\n\n constructor(opts: {\n ctx: AppContext\n server: http.Server\n ac: AbortController\n }) {\n this.ctx = opts.ctx\n this.server = opts.server\n this.ac = opts.ac\n this.terminator = createHttpTerminator({ server: this.server })\n }\n\n static async create(\n cfg: ServerConfig,\n overrides?: Partial<AppContextOptions>,\n ): Promise<BsyncService> {\n const ac = new AbortController()\n const ctx = await AppContext.fromConfig(cfg, ac.signal, overrides)\n const handler = connectNodeAdapter({\n routes: routes(ctx),\n shutdownSignal: ac.signal,\n })\n const server = http.createServer((req, res) => {\n loggerMiddleware(req, res)\n if (isHealth(req.url)) {\n res.statusCode = 200\n res.setHeader('content-type', 'application/json')\n return res.end(JSON.stringify({ version: cfg.service.version }))\n }\n handler(req, res)\n })\n return new BsyncService({ ctx, server, ac })\n }\n\n async start(): Promise<http.Server> {\n if (this.dbStatsInterval) {\n throw new Error(`${this.constructor.name} already started`)\n }\n this.dbStatsInterval = setInterval(() => {\n dbLogger.info(\n {\n idleCount: this.ctx.db.pool.idleCount,\n totalCount: this.ctx.db.pool.totalCount,\n waitingCount: this.ctx.db.pool.waitingCount,\n },\n 'db pool stats',\n )\n }, 10000)\n await this.setupAppEvents()\n this.server.listen(this.ctx.cfg.service.port)\n this.server.keepAliveTimeout = 90000\n await events.once(this.server, 'listening')\n return this.server\n }\n\n async destroy(): Promise<void> {\n this.ac.abort()\n await this.terminator.terminate()\n await this.ctx.db.close()\n clearInterval(this.dbStatsInterval)\n this.dbStatsInterval = undefined\n }\n\n async setupAppEvents() {\n const conn = await this.ctx.db.pool.connect()\n this.ac.signal.addEventListener('abort', () => conn.release(), {\n once: true,\n })\n // if these error, unhandled rejection should cause process to exit\n conn.query(`listen ${createMuteOpChannel}`)\n conn.query(`listen ${createNotifOpChannel}`)\n conn.query(`listen ${createOperationChannel}`)\n conn.on('notification', (notif) => {\n if (notif.channel === createMuteOpChannel) {\n this.ctx.events.emit(createMuteOpChannel)\n }\n if (notif.channel === createNotifOpChannel) {\n this.ctx.events.emit(createNotifOpChannel)\n }\n if (notif.channel === createOperationChannel) {\n this.ctx.events.emit(createOperationChannel)\n }\n })\n }\n}\n\nexport default BsyncService\n\nconst isHealth = (urlStr: string | undefined) => {\n if (!urlStr) return false\n const url = new URL(urlStr, 'http://host')\n return url.pathname === '/_health'\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import events from 'node:events'\nimport http from 'node:http'\nimport { connectNodeAdapter } from '@connectrpc/connect-node'\n// eslint-disable-next-line import/default, import/no-named-as-default-member\nimport httpTerminator from 'http-terminator'\n// eslint-disable-next-line import/no-named-as-default-member\nconst { createHttpTerminator } = httpTerminator\ntype HttpTerminator = ReturnType<typeof createHttpTerminator>\nimport { ServerConfig } from './config.js'\nimport { AppContext, AppContextOptions } from './context.js'\nimport { createMuteOpChannel } from './db/schema/mute_op.js'\nimport { createNotifOpChannel } from './db/schema/notif_op.js'\nimport { createOperationChannel } from './db/schema/operation.js'\nimport { dbLogger, loggerMiddleware } from './logger.js'\nimport routes from './routes/index.js'\n\nexport * from './config.js'\nexport * from './client.js'\nexport { Database } from './db/index.js'\nexport { AppContext } from './context.js'\nexport { httpLogger } from './logger.js'\n\nexport class BsyncService {\n public ctx: AppContext\n public server: http.Server\n private ac: AbortController\n private terminator: HttpTerminator\n private dbStatsInterval?: NodeJS.Timeout\n\n constructor(opts: {\n ctx: AppContext\n server: http.Server\n ac: AbortController\n }) {\n this.ctx = opts.ctx\n this.server = opts.server\n this.ac = opts.ac\n this.terminator = createHttpTerminator({ server: this.server })\n }\n\n static async create(\n cfg: ServerConfig,\n overrides?: Partial<AppContextOptions>,\n ): Promise<BsyncService> {\n const ac = new AbortController()\n const ctx = await AppContext.fromConfig(cfg, ac.signal, overrides)\n const handler = connectNodeAdapter({\n routes: routes(ctx),\n shutdownSignal: ac.signal,\n })\n const server = http.createServer((req, res) => {\n loggerMiddleware(req, res)\n if (isHealth(req.url)) {\n res.statusCode = 200\n res.setHeader('content-type', 'application/json')\n return res.end(JSON.stringify({ version: cfg.service.version }))\n }\n handler(req, res)\n })\n return new BsyncService({ ctx, server, ac })\n }\n\n async start(): Promise<http.Server> {\n if (this.dbStatsInterval) {\n throw new Error(`${this.constructor.name} already started`)\n }\n this.dbStatsInterval = setInterval(() => {\n dbLogger.info(\n {\n idleCount: this.ctx.db.pool.idleCount,\n totalCount: this.ctx.db.pool.totalCount,\n waitingCount: this.ctx.db.pool.waitingCount,\n },\n 'db pool stats',\n )\n }, 10000)\n await this.setupAppEvents()\n this.server.listen(this.ctx.cfg.service.port)\n this.server.keepAliveTimeout = 90000\n await events.once(this.server, 'listening')\n return this.server\n }\n\n async destroy(): Promise<void> {\n this.ac.abort()\n await this.terminator.terminate()\n await this.ctx.db.close()\n clearInterval(this.dbStatsInterval)\n this.dbStatsInterval = undefined\n }\n\n async setupAppEvents() {\n const conn = await this.ctx.db.pool.connect()\n this.ac.signal.addEventListener('abort', () => conn.release(), {\n once: true,\n })\n // if these error, unhandled rejection should cause process to exit\n conn.query(`listen ${createMuteOpChannel}`)\n conn.query(`listen ${createNotifOpChannel}`)\n conn.query(`listen ${createOperationChannel}`)\n conn.on('notification', (notif) => {\n if (notif.channel === createMuteOpChannel) {\n this.ctx.events.emit(createMuteOpChannel)\n }\n if (notif.channel === createNotifOpChannel) {\n this.ctx.events.emit(createNotifOpChannel)\n }\n if (notif.channel === createOperationChannel) {\n this.ctx.events.emit(createOperationChannel)\n }\n })\n }\n}\n\nexport default BsyncService\n\nconst isHealth = (urlStr: string | undefined) => {\n if (!urlStr) return false\n const url = new URL(urlStr, 'http://host')\n return url.pathname === '/_health'\n}\n"]}
package/dist/logger.js CHANGED
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loggerMiddleware = exports.httpLogger = exports.dbLogger = void 0;
4
- const pino_http_1 = require("pino-http");
5
- const common_1 = require("@atproto/common");
6
- exports.dbLogger = (0, common_1.subsystemLogger)('bsync:db');
7
- exports.httpLogger = (0, common_1.subsystemLogger)('bsync');
8
- exports.loggerMiddleware = (0, pino_http_1.pinoHttp)({
9
- logger: exports.httpLogger,
1
+ import { pinoHttp, stdSerializers } from 'pino-http';
2
+ import { obfuscateHeaders, subsystemLogger } from '@atproto/common';
3
+ export const dbLogger = subsystemLogger('bsync:db');
4
+ export const httpLogger = subsystemLogger('bsync');
5
+ export const loggerMiddleware = pinoHttp({
6
+ logger: httpLogger,
10
7
  redact: {
11
8
  paths: ['req.headers.authorization'],
12
9
  },
@@ -16,8 +13,8 @@ exports.loggerMiddleware = (0, pino_http_1.pinoHttp)({
16
13
  message: err?.['message'],
17
14
  }),
18
15
  req: (req) => {
19
- const serialized = pino_http_1.stdSerializers.req(req);
20
- const headers = (0, common_1.obfuscateHeaders)(serialized.headers);
16
+ const serialized = stdSerializers.req(req);
17
+ const headers = obfuscateHeaders(serialized.headers);
21
18
  return { ...serialized, headers };
22
19
  },
23
20
  },
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AACA,yCAAoD;AACpD,4CAAmE;AAEtD,QAAA,QAAQ,GACnB,IAAA,wBAAe,EAAC,UAAU,CAAC,CAAA;AAChB,QAAA,UAAU,GACrB,IAAA,wBAAe,EAAC,OAAO,CAAC,CAAA;AAEb,QAAA,gBAAgB,GAAG,IAAA,oBAAQ,EAAC;IACvC,MAAM,EAAE,kBAAU;IAClB,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,2BAA2B,CAAC;KACrC;IACD,WAAW,EAAE;QACX,GAAG,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;SAC1B,CAAC;QACF,GAAG,EAAE,CAAC,GAAoB,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,0BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,IAAA,yBAAgB,EAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACpD,OAAO,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAA;QACnC,CAAC;KACF;CACF,CAAC,CAAA","sourcesContent":["import { type IncomingMessage } from 'node:http'\nimport { pinoHttp, stdSerializers } from 'pino-http'\nimport { obfuscateHeaders, subsystemLogger } from '@atproto/common'\n\nexport const dbLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsync:db')\nexport const httpLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsync')\n\nexport const loggerMiddleware = pinoHttp({\n logger: httpLogger,\n redact: {\n paths: ['req.headers.authorization'],\n },\n serializers: {\n err: (err: unknown) => ({\n code: err?.['code'],\n message: err?.['message'],\n }),\n req: (req: IncomingMessage) => {\n const serialized = stdSerializers.req(req)\n const headers = obfuscateHeaders(serialized.headers)\n return { ...serialized, headers }\n },\n },\n})\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,CAAC,MAAM,QAAQ,GACnB,eAAe,CAAC,UAAU,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,UAAU,GACrB,eAAe,CAAC,OAAO,CAAC,CAAA;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACvC,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,2BAA2B,CAAC;KACrC;IACD,WAAW,EAAE;QACX,GAAG,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;SAC1B,CAAC;QACF,GAAG,EAAE,CAAC,GAAoB,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACpD,OAAO,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAA;QACnC,CAAC;KACF;CACF,CAAC,CAAA","sourcesContent":["import { type IncomingMessage } from 'node:http'\nimport { pinoHttp, stdSerializers } from 'pino-http'\nimport { obfuscateHeaders, subsystemLogger } from '@atproto/common'\n\nexport const dbLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsync:db')\nexport const httpLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsync')\n\nexport const loggerMiddleware = pinoHttp({\n logger: httpLogger,\n redact: {\n paths: ['req.headers.authorization'],\n },\n serializers: {\n err: (err: unknown) => ({\n code: err?.['code'],\n message: err?.['message'],\n }),\n req: (req: IncomingMessage) => {\n const serialized = stdSerializers.req(req)\n const headers = obfuscateHeaders(serialized.headers)\n return { ...serialized, headers }\n },\n },\n})\n"]}
@@ -1,4 +1,4 @@
1
- import { AddMuteOperationRequest, AddMuteOperationResponse, AddNotifOperationRequest, AddNotifOperationResponse, DeleteOperationsByActorAndNamespaceRequest, DeleteOperationsByActorAndNamespaceResponse, PingRequest, PingResponse, PutOperationRequest, PutOperationResponse, ScanMuteOperationsRequest, ScanMuteOperationsResponse, ScanNotifOperationsRequest, ScanNotifOperationsResponse, ScanOperationsRequest, ScanOperationsResponse } from "./bsync_pb";
1
+ import { AddMuteOperationRequest, AddMuteOperationResponse, AddNotifOperationRequest, AddNotifOperationResponse, DeleteOperationsByActorAndNamespaceRequest, DeleteOperationsByActorAndNamespaceResponse, PingRequest, PingResponse, PutOperationRequest, PutOperationResponse, ScanMuteOperationsRequest, ScanMuteOperationsResponse, ScanNotifOperationsRequest, ScanNotifOperationsResponse, ScanOperationsRequest, ScanOperationsResponse } from "./bsync_pb.js";
2
2
  import { MethodKind } from "@bufbuild/protobuf";
3
3
  /**
4
4
  * @generated from service bsync.Service
@@ -1 +1 @@
1
- {"version":3,"file":"bsync_connect.d.ts","sourceRoot":"","sources":["../../src/proto/bsync_connect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,0CAA0C,EAAE,2CAA2C,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAClc,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,OAAO;;;QAGhB;;;;WAIG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;;;WAIG;;;;;;;;CAQG,CAAC"}
1
+ {"version":3,"file":"bsync_connect.d.ts","sourceRoot":"","sources":["../../src/proto/bsync_connect.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,0CAA0C,EAAE,2CAA2C,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACrc,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,OAAO;;;QAGhB;;;;WAIG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;WAEG;;;;;;;QAOH;;;;WAIG;;;;;;;;CAQG,CAAC"}
@@ -1,16 +1,13 @@
1
- "use strict";
2
1
  // @generated by protoc-gen-connect-es v1.3.0 with parameter "target=ts,import_extension="
3
2
  // @generated from file bsync.proto (package bsync, syntax proto3)
4
3
  /* eslint-disable */
5
4
  // @ts-nocheck
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.Service = void 0;
8
- const bsync_pb_1 = require("./bsync_pb");
9
- const protobuf_1 = require("@bufbuild/protobuf");
5
+ import { AddMuteOperationRequest, AddMuteOperationResponse, AddNotifOperationRequest, AddNotifOperationResponse, DeleteOperationsByActorAndNamespaceRequest, DeleteOperationsByActorAndNamespaceResponse, PingRequest, PingResponse, PutOperationRequest, PutOperationResponse, ScanMuteOperationsRequest, ScanMuteOperationsResponse, ScanNotifOperationsRequest, ScanNotifOperationsResponse, ScanOperationsRequest, ScanOperationsResponse } from "./bsync_pb.js";
6
+ import { MethodKind } from "@bufbuild/protobuf";
10
7
  /**
11
8
  * @generated from service bsync.Service
12
9
  */
13
- exports.Service = {
10
+ export const Service = {
14
11
  typeName: "bsync.Service",
15
12
  methods: {
16
13
  /**
@@ -20,63 +17,63 @@ exports.Service = {
20
17
  */
21
18
  addMuteOperation: {
22
19
  name: "AddMuteOperation",
23
- I: bsync_pb_1.AddMuteOperationRequest,
24
- O: bsync_pb_1.AddMuteOperationResponse,
25
- kind: protobuf_1.MethodKind.Unary,
20
+ I: AddMuteOperationRequest,
21
+ O: AddMuteOperationResponse,
22
+ kind: MethodKind.Unary,
26
23
  },
27
24
  /**
28
25
  * @generated from rpc bsync.Service.ScanMuteOperations
29
26
  */
30
27
  scanMuteOperations: {
31
28
  name: "ScanMuteOperations",
32
- I: bsync_pb_1.ScanMuteOperationsRequest,
33
- O: bsync_pb_1.ScanMuteOperationsResponse,
34
- kind: protobuf_1.MethodKind.Unary,
29
+ I: ScanMuteOperationsRequest,
30
+ O: ScanMuteOperationsResponse,
31
+ kind: MethodKind.Unary,
35
32
  },
36
33
  /**
37
34
  * @generated from rpc bsync.Service.AddNotifOperation
38
35
  */
39
36
  addNotifOperation: {
40
37
  name: "AddNotifOperation",
41
- I: bsync_pb_1.AddNotifOperationRequest,
42
- O: bsync_pb_1.AddNotifOperationResponse,
43
- kind: protobuf_1.MethodKind.Unary,
38
+ I: AddNotifOperationRequest,
39
+ O: AddNotifOperationResponse,
40
+ kind: MethodKind.Unary,
44
41
  },
45
42
  /**
46
43
  * @generated from rpc bsync.Service.ScanNotifOperations
47
44
  */
48
45
  scanNotifOperations: {
49
46
  name: "ScanNotifOperations",
50
- I: bsync_pb_1.ScanNotifOperationsRequest,
51
- O: bsync_pb_1.ScanNotifOperationsResponse,
52
- kind: protobuf_1.MethodKind.Unary,
47
+ I: ScanNotifOperationsRequest,
48
+ O: ScanNotifOperationsResponse,
49
+ kind: MethodKind.Unary,
53
50
  },
54
51
  /**
55
52
  * @generated from rpc bsync.Service.PutOperation
56
53
  */
57
54
  putOperation: {
58
55
  name: "PutOperation",
59
- I: bsync_pb_1.PutOperationRequest,
60
- O: bsync_pb_1.PutOperationResponse,
61
- kind: protobuf_1.MethodKind.Unary,
56
+ I: PutOperationRequest,
57
+ O: PutOperationResponse,
58
+ kind: MethodKind.Unary,
62
59
  },
63
60
  /**
64
61
  * @generated from rpc bsync.Service.ScanOperations
65
62
  */
66
63
  scanOperations: {
67
64
  name: "ScanOperations",
68
- I: bsync_pb_1.ScanOperationsRequest,
69
- O: bsync_pb_1.ScanOperationsResponse,
70
- kind: protobuf_1.MethodKind.Unary,
65
+ I: ScanOperationsRequest,
66
+ O: ScanOperationsResponse,
67
+ kind: MethodKind.Unary,
71
68
  },
72
69
  /**
73
70
  * @generated from rpc bsync.Service.DeleteOperationsByActorAndNamespace
74
71
  */
75
72
  deleteOperationsByActorAndNamespace: {
76
73
  name: "DeleteOperationsByActorAndNamespace",
77
- I: bsync_pb_1.DeleteOperationsByActorAndNamespaceRequest,
78
- O: bsync_pb_1.DeleteOperationsByActorAndNamespaceResponse,
79
- kind: protobuf_1.MethodKind.Unary,
74
+ I: DeleteOperationsByActorAndNamespaceRequest,
75
+ O: DeleteOperationsByActorAndNamespaceResponse,
76
+ kind: MethodKind.Unary,
80
77
  },
81
78
  /**
82
79
  * Ping
@@ -85,9 +82,9 @@ exports.Service = {
85
82
  */
86
83
  ping: {
87
84
  name: "Ping",
88
- I: bsync_pb_1.PingRequest,
89
- O: bsync_pb_1.PingResponse,
90
- kind: protobuf_1.MethodKind.Unary,
85
+ I: PingRequest,
86
+ O: PingResponse,
87
+ kind: MethodKind.Unary,
91
88
  },
92
89
  }
93
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bsync_connect.js","sourceRoot":"","sources":["../../src/proto/bsync_connect.ts"],"names":[],"mappings":";AAAA,0FAA0F;AAC1F,kEAAkE;AAClE,oBAAoB;AACpB,cAAc;;;AAEd,yCAAkc;AAClc,iDAAgD;AAEhD;;GAEG;AACU,QAAA,OAAO,GAAG;IACrB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE;QACP;;;;WAIG;QACH,gBAAgB,EAAE;YAChB,IAAI,EAAE,kBAAkB;YACxB,CAAC,EAAE,kCAAuB;YAC1B,CAAC,EAAE,mCAAwB;YAC3B,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,kBAAkB,EAAE;YAClB,IAAI,EAAE,oBAAoB;YAC1B,CAAC,EAAE,oCAAyB;YAC5B,CAAC,EAAE,qCAA0B;YAC7B,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,iBAAiB,EAAE;YACjB,IAAI,EAAE,mBAAmB;YACzB,CAAC,EAAE,mCAAwB;YAC3B,CAAC,EAAE,oCAAyB;YAC5B,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,mBAAmB,EAAE;YACnB,IAAI,EAAE,qBAAqB;YAC3B,CAAC,EAAE,qCAA0B;YAC7B,CAAC,EAAE,sCAA2B;YAC9B,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,CAAC,EAAE,8BAAmB;YACtB,CAAC,EAAE,+BAAoB;YACvB,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,cAAc,EAAE;YACd,IAAI,EAAE,gBAAgB;YACtB,CAAC,EAAE,gCAAqB;YACxB,CAAC,EAAE,iCAAsB;YACzB,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,mCAAmC,EAAE;YACnC,IAAI,EAAE,qCAAqC;YAC3C,CAAC,EAAE,qDAA0C;YAC7C,CAAC,EAAE,sDAA2C;YAC9C,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;QACD;;;;WAIG;QACH,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,CAAC,EAAE,sBAAW;YACd,CAAC,EAAE,uBAAY;YACf,IAAI,EAAE,qBAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC","sourcesContent":["// @generated by protoc-gen-connect-es v1.3.0 with parameter \"target=ts,import_extension=\"\n// @generated from file bsync.proto (package bsync, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { AddMuteOperationRequest, AddMuteOperationResponse, AddNotifOperationRequest, AddNotifOperationResponse, DeleteOperationsByActorAndNamespaceRequest, DeleteOperationsByActorAndNamespaceResponse, PingRequest, PingResponse, PutOperationRequest, PutOperationResponse, ScanMuteOperationsRequest, ScanMuteOperationsResponse, ScanNotifOperationsRequest, ScanNotifOperationsResponse, ScanOperationsRequest, ScanOperationsResponse } from \"./bsync_pb\";\nimport { MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service bsync.Service\n */\nexport const Service = {\n typeName: \"bsync.Service\",\n methods: {\n /**\n * Sync\n *\n * @generated from rpc bsync.Service.AddMuteOperation\n */\n addMuteOperation: {\n name: \"AddMuteOperation\",\n I: AddMuteOperationRequest,\n O: AddMuteOperationResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.ScanMuteOperations\n */\n scanMuteOperations: {\n name: \"ScanMuteOperations\",\n I: ScanMuteOperationsRequest,\n O: ScanMuteOperationsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.AddNotifOperation\n */\n addNotifOperation: {\n name: \"AddNotifOperation\",\n I: AddNotifOperationRequest,\n O: AddNotifOperationResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.ScanNotifOperations\n */\n scanNotifOperations: {\n name: \"ScanNotifOperations\",\n I: ScanNotifOperationsRequest,\n O: ScanNotifOperationsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.PutOperation\n */\n putOperation: {\n name: \"PutOperation\",\n I: PutOperationRequest,\n O: PutOperationResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.ScanOperations\n */\n scanOperations: {\n name: \"ScanOperations\",\n I: ScanOperationsRequest,\n O: ScanOperationsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.DeleteOperationsByActorAndNamespace\n */\n deleteOperationsByActorAndNamespace: {\n name: \"DeleteOperationsByActorAndNamespace\",\n I: DeleteOperationsByActorAndNamespaceRequest,\n O: DeleteOperationsByActorAndNamespaceResponse,\n kind: MethodKind.Unary,\n },\n /**\n * Ping\n *\n * @generated from rpc bsync.Service.Ping\n */\n ping: {\n name: \"Ping\",\n I: PingRequest,\n O: PingResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n"]}
1
+ {"version":3,"file":"bsync_connect.js","sourceRoot":"","sources":["../../src/proto/bsync_connect.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,kEAAkE;AAClE,oBAAoB;AACpB,cAAc;AAEd,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,0CAA0C,EAAE,2CAA2C,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACrc,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE;QACP;;;;WAIG;QACH,gBAAgB,EAAE;YAChB,IAAI,EAAE,kBAAkB;YACxB,CAAC,EAAE,uBAAuB;YAC1B,CAAC,EAAE,wBAAwB;YAC3B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,kBAAkB,EAAE;YAClB,IAAI,EAAE,oBAAoB;YAC1B,CAAC,EAAE,yBAAyB;YAC5B,CAAC,EAAE,0BAA0B;YAC7B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,iBAAiB,EAAE;YACjB,IAAI,EAAE,mBAAmB;YACzB,CAAC,EAAE,wBAAwB;YAC3B,CAAC,EAAE,yBAAyB;YAC5B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,mBAAmB,EAAE;YACnB,IAAI,EAAE,qBAAqB;YAC3B,CAAC,EAAE,0BAA0B;YAC7B,CAAC,EAAE,2BAA2B;YAC9B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,CAAC,EAAE,mBAAmB;YACtB,CAAC,EAAE,oBAAoB;YACvB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,cAAc,EAAE;YACd,IAAI,EAAE,gBAAgB;YACtB,CAAC,EAAE,qBAAqB;YACxB,CAAC,EAAE,sBAAsB;YACzB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;WAEG;QACH,mCAAmC,EAAE;YACnC,IAAI,EAAE,qCAAqC;YAC3C,CAAC,EAAE,0CAA0C;YAC7C,CAAC,EAAE,2CAA2C;YAC9C,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;WAIG;QACH,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,CAAC,EAAE,WAAW;YACd,CAAC,EAAE,YAAY;YACf,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC","sourcesContent":["// @generated by protoc-gen-connect-es v1.3.0 with parameter \"target=ts,import_extension=\"\n// @generated from file bsync.proto (package bsync, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport { AddMuteOperationRequest, AddMuteOperationResponse, AddNotifOperationRequest, AddNotifOperationResponse, DeleteOperationsByActorAndNamespaceRequest, DeleteOperationsByActorAndNamespaceResponse, PingRequest, PingResponse, PutOperationRequest, PutOperationResponse, ScanMuteOperationsRequest, ScanMuteOperationsResponse, ScanNotifOperationsRequest, ScanNotifOperationsResponse, ScanOperationsRequest, ScanOperationsResponse } from \"./bsync_pb.js\";\nimport { MethodKind } from \"@bufbuild/protobuf\";\n\n/**\n * @generated from service bsync.Service\n */\nexport const Service = {\n typeName: \"bsync.Service\",\n methods: {\n /**\n * Sync\n *\n * @generated from rpc bsync.Service.AddMuteOperation\n */\n addMuteOperation: {\n name: \"AddMuteOperation\",\n I: AddMuteOperationRequest,\n O: AddMuteOperationResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.ScanMuteOperations\n */\n scanMuteOperations: {\n name: \"ScanMuteOperations\",\n I: ScanMuteOperationsRequest,\n O: ScanMuteOperationsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.AddNotifOperation\n */\n addNotifOperation: {\n name: \"AddNotifOperation\",\n I: AddNotifOperationRequest,\n O: AddNotifOperationResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.ScanNotifOperations\n */\n scanNotifOperations: {\n name: \"ScanNotifOperations\",\n I: ScanNotifOperationsRequest,\n O: ScanNotifOperationsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.PutOperation\n */\n putOperation: {\n name: \"PutOperation\",\n I: PutOperationRequest,\n O: PutOperationResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.ScanOperations\n */\n scanOperations: {\n name: \"ScanOperations\",\n I: ScanOperationsRequest,\n O: ScanOperationsResponse,\n kind: MethodKind.Unary,\n },\n /**\n * @generated from rpc bsync.Service.DeleteOperationsByActorAndNamespace\n */\n deleteOperationsByActorAndNamespace: {\n name: \"DeleteOperationsByActorAndNamespace\",\n I: DeleteOperationsByActorAndNamespaceRequest,\n O: DeleteOperationsByActorAndNamespaceResponse,\n kind: MethodKind.Unary,\n },\n /**\n * Ping\n *\n * @generated from rpc bsync.Service.Ping\n */\n ping: {\n name: \"Ping\",\n I: PingRequest,\n O: PingResponse,\n kind: MethodKind.Unary,\n },\n }\n} as const;\n\n"]}