@zlooks.cn/baidu-submit-server 1.0.1

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 (97) hide show
  1. package/dist/command/index.d.ts +3 -0
  2. package/dist/command/index.d.ts.map +1 -0
  3. package/dist/command/index.js +14 -0
  4. package/dist/command/index.js.map +1 -0
  5. package/dist/config/config-command.d.ts +20 -0
  6. package/dist/config/config-command.d.ts.map +1 -0
  7. package/dist/config/config-command.js +57 -0
  8. package/dist/config/config-command.js.map +1 -0
  9. package/dist/contracts.d.ts +502 -0
  10. package/dist/contracts.d.ts.map +1 -0
  11. package/dist/contracts.js +142 -0
  12. package/dist/contracts.js.map +1 -0
  13. package/dist/events/blog-subscriptions.d.ts +7 -0
  14. package/dist/events/blog-subscriptions.d.ts.map +1 -0
  15. package/dist/events/blog-subscriptions.js +49 -0
  16. package/dist/events/blog-subscriptions.js.map +1 -0
  17. package/dist/mcp/provider.d.ts +5 -0
  18. package/dist/mcp/provider.d.ts.map +1 -0
  19. package/dist/mcp/provider.js +162 -0
  20. package/dist/mcp/provider.js.map +1 -0
  21. package/dist/messages/status/read.msg.d.ts +47 -0
  22. package/dist/messages/status/read.msg.d.ts.map +1 -0
  23. package/dist/messages/status/read.msg.js +6 -0
  24. package/dist/messages/status/read.msg.js.map +1 -0
  25. package/dist/messages/submissions/read.msg.d.ts +42 -0
  26. package/dist/messages/submissions/read.msg.d.ts.map +1 -0
  27. package/dist/messages/submissions/read.msg.js +6 -0
  28. package/dist/messages/submissions/read.msg.js.map +1 -0
  29. package/dist/messages/submissions/retry.msg.d.ts +74 -0
  30. package/dist/messages/submissions/retry.msg.d.ts.map +1 -0
  31. package/dist/messages/submissions/retry.msg.js +6 -0
  32. package/dist/messages/submissions/retry.msg.js.map +1 -0
  33. package/dist/messages/submissions/search.msg.d.ts +52 -0
  34. package/dist/messages/submissions/search.msg.d.ts.map +1 -0
  35. package/dist/messages/submissions/search.msg.js +6 -0
  36. package/dist/messages/submissions/search.msg.js.map +1 -0
  37. package/dist/models/read-status.model.d.ts +33 -0
  38. package/dist/models/read-status.model.d.ts.map +1 -0
  39. package/dist/models/read-status.model.js +11 -0
  40. package/dist/models/read-status.model.js.map +1 -0
  41. package/dist/models/read-submission.model.d.ts +6 -0
  42. package/dist/models/read-submission.model.d.ts.map +1 -0
  43. package/dist/models/read-submission.model.js +13 -0
  44. package/dist/models/read-submission.model.js.map +1 -0
  45. package/dist/models/retry-submission.model.d.ts +7 -0
  46. package/dist/models/retry-submission.model.d.ts.map +1 -0
  47. package/dist/models/retry-submission.model.js +17 -0
  48. package/dist/models/retry-submission.model.js.map +1 -0
  49. package/dist/models/search-submissions.model.d.ts +31 -0
  50. package/dist/models/search-submissions.model.d.ts.map +1 -0
  51. package/dist/models/search-submissions.model.js +13 -0
  52. package/dist/models/search-submissions.model.js.map +1 -0
  53. package/dist/persistence/entities.d.ts +32 -0
  54. package/dist/persistence/entities.d.ts.map +1 -0
  55. package/dist/persistence/entities.js +49 -0
  56. package/dist/persistence/entities.js.map +1 -0
  57. package/dist/persistence/submission-store.d.ts +41 -0
  58. package/dist/persistence/submission-store.d.ts.map +1 -0
  59. package/dist/persistence/submission-store.js +266 -0
  60. package/dist/persistence/submission-store.js.map +1 -0
  61. package/dist/services/application.service.d.ts +8 -0
  62. package/dist/services/application.service.d.ts.map +1 -0
  63. package/dist/services/application.service.js +28 -0
  64. package/dist/services/application.service.js.map +1 -0
  65. package/dist/services/baidu-submit.boot.d.ts +3 -0
  66. package/dist/services/baidu-submit.boot.d.ts.map +1 -0
  67. package/dist/services/baidu-submit.boot.js +11 -0
  68. package/dist/services/baidu-submit.boot.js.map +1 -0
  69. package/dist/services/config.service.d.ts +20 -0
  70. package/dist/services/config.service.d.ts.map +1 -0
  71. package/dist/services/config.service.js +44 -0
  72. package/dist/services/config.service.js.map +1 -0
  73. package/dist/services/database.service.d.ts +3 -0
  74. package/dist/services/database.service.d.ts.map +1 -0
  75. package/dist/services/database.service.js +23 -0
  76. package/dist/services/database.service.js.map +1 -0
  77. package/dist/services/logger.service.d.ts +4 -0
  78. package/dist/services/logger.service.d.ts.map +1 -0
  79. package/dist/services/logger.service.js +8 -0
  80. package/dist/services/logger.service.js.map +1 -0
  81. package/dist/services/mcp-provider.service.d.ts +3 -0
  82. package/dist/services/mcp-provider.service.d.ts.map +1 -0
  83. package/dist/services/mcp-provider.service.js +23 -0
  84. package/dist/services/mcp-provider.service.js.map +1 -0
  85. package/dist/services/submission-runtime.service.d.ts +8 -0
  86. package/dist/services/submission-runtime.service.d.ts.map +1 -0
  87. package/dist/services/submission-runtime.service.js +33 -0
  88. package/dist/services/submission-runtime.service.js.map +1 -0
  89. package/dist/submission/baidu-submit-client.d.ts +29 -0
  90. package/dist/submission/baidu-submit-client.d.ts.map +1 -0
  91. package/dist/submission/baidu-submit-client.js +132 -0
  92. package/dist/submission/baidu-submit-client.js.map +1 -0
  93. package/dist/submission/submission-worker.d.ts +17 -0
  94. package/dist/submission/submission-worker.d.ts.map +1 -0
  95. package/dist/submission/submission-worker.js +75 -0
  96. package/dist/submission/submission-worker.js.map +1 -0
  97. package/package.json +61 -0
@@ -0,0 +1,52 @@
1
+ declare const _default: import("@hile/micro").MicroContractMessage<{
2
+ readonly path: "/submissions/search";
3
+ readonly input: import("zod").ZodObject<{
4
+ statuses: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
5
+ accepted: "accepted";
6
+ queued: "queued";
7
+ rejected: "rejected";
8
+ skipped: "skipped";
9
+ submitting: "submitting";
10
+ unknown: "unknown";
11
+ }>>>;
12
+ postId: import("zod").ZodOptional<import("zod").ZodUUID>;
13
+ createdFrom: import("zod").ZodOptional<import("zod").ZodISODateTime>;
14
+ createdTo: import("zod").ZodOptional<import("zod").ZodISODateTime>;
15
+ cursor: import("zod").ZodOptional<import("zod").ZodUUID>;
16
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
17
+ }, import("zod/v4/core").$strict>;
18
+ readonly output: import("zod").ZodReadonly<import("zod").ZodObject<{
19
+ items: import("zod").ZodReadonly<import("zod").ZodArray<import("zod").ZodReadonly<import("zod").ZodObject<{
20
+ id: import("zod").ZodUUID;
21
+ eventId: import("zod").ZodUUID;
22
+ postId: import("zod").ZodUUID;
23
+ postVersion: import("zod").ZodNumber;
24
+ trigger: import("zod").ZodEnum<{
25
+ "publication-updated": "publication-updated";
26
+ published: "published";
27
+ }>;
28
+ url: import("zod").ZodURL;
29
+ status: import("zod").ZodEnum<{
30
+ accepted: "accepted";
31
+ queued: "queued";
32
+ rejected: "rejected";
33
+ skipped: "skipped";
34
+ submitting: "submitting";
35
+ unknown: "unknown";
36
+ }>;
37
+ attempts: import("zod").ZodNumber;
38
+ providerAcceptedCount: import("zod").ZodNullable<import("zod").ZodNumber>;
39
+ providerRemaining: import("zod").ZodNullable<import("zod").ZodNumber>;
40
+ providerMessage: import("zod").ZodNullable<import("zod").ZodString>;
41
+ lastErrorCode: import("zod").ZodNullable<import("zod").ZodString>;
42
+ retryRequestedBy: import("zod").ZodNullable<import("zod").ZodString>;
43
+ submittedAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
44
+ occurredAt: import("zod").ZodISODateTime;
45
+ createdAt: import("zod").ZodISODateTime;
46
+ updatedAt: import("zod").ZodISODateTime;
47
+ }, import("zod/v4/core").$strict>>>>;
48
+ nextCursor: import("zod").ZodNullable<import("zod").ZodUUID>;
49
+ }, import("zod/v4/core").$strict>>;
50
+ }>;
51
+ export default _default;
52
+ //# sourceMappingURL=search.msg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.msg.d.ts","sourceRoot":"","sources":["../../../src/messages/submissions/search.msg.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { defineMicroMessage } from '@hile/micro';
2
+ import { loadModel } from '@hile/model';
3
+ import { baiduSubmitMicroContract } from '../../contracts.js';
4
+ import searchSubmissionsModel from '../../models/search-submissions.model.js';
5
+ export default defineMicroMessage(baiduSubmitMicroContract.operations.search, ({ data, invocation }) => loadModel(searchSubmissionsModel, data, invocation));
6
+ //# sourceMappingURL=search.msg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.msg.js","sourceRoot":"","sources":["../../../src/messages/submissions/search.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,sBAAsB,MAAM,0CAA0C,CAAC;AAE9E,eAAe,kBAAkB,CAC/B,wBAAwB,CAAC,UAAU,CAAC,MAAM,EAC1C,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAC9E,CAAC"}
@@ -0,0 +1,33 @@
1
+ declare const _default: import("@hile/model").ModelDefinition<Record<string, never>, Readonly<Readonly<{
2
+ activatedAt: string;
3
+ counts: Readonly<{
4
+ queued: number;
5
+ submitting: number;
6
+ accepted: number;
7
+ rejected: number;
8
+ unknown: number;
9
+ skipped: number;
10
+ }>;
11
+ lastSubmission: Readonly<{
12
+ id: string;
13
+ eventId: string;
14
+ postId: string;
15
+ postVersion: number;
16
+ trigger: "publication-updated" | "published";
17
+ url: string;
18
+ status: "accepted" | "queued" | "rejected" | "skipped" | "submitting" | "unknown";
19
+ attempts: number;
20
+ providerAcceptedCount: number | null;
21
+ providerRemaining: number | null;
22
+ providerMessage: string | null;
23
+ lastErrorCode: string | null;
24
+ retryRequestedBy: string | null;
25
+ submittedAt: string | null;
26
+ occurredAt: string;
27
+ createdAt: string;
28
+ updatedAt: string;
29
+ }> | null;
30
+ indexingStatusAvailable: false;
31
+ }>>>;
32
+ export default _default;
33
+ //# sourceMappingURL=read-status.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-status.model.d.ts","sourceRoot":"","sources":["../../src/models/read-status.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { loadService } from '@hile/core';
2
+ import { defineModel } from '@hile/model';
3
+ import submissionRuntimeService from '../services/submission-runtime.service.js';
4
+ export default defineModel(async (_input, invocation) => {
5
+ invocation.signal.throwIfAborted();
6
+ const { store } = await loadService(submissionRuntimeService);
7
+ const status = await store.status();
8
+ invocation.signal.throwIfAborted();
9
+ return status;
10
+ });
11
+ //# sourceMappingURL=read-status.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-status.model.js","sourceRoot":"","sources":["../../src/models/read-status.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CACxB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;IAC3B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACpC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type ReadSubmissionResponse } from '../contracts.js';
2
+ declare const _default: import("@hile/model").ModelDefinition<{
3
+ readonly id: string;
4
+ }, ReadSubmissionResponse>;
5
+ export default _default;
6
+ //# sourceMappingURL=read-submission.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-submission.model.d.ts","sourceRoot":"","sources":["../../src/models/read-submission.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;;iBAIR,MAAM"}
@@ -0,0 +1,13 @@
1
+ import { loadService } from '@hile/core';
2
+ import { defineModel } from '@hile/model';
3
+ import { readSubmissionSchema, } from '../contracts.js';
4
+ import submissionRuntimeService from '../services/submission-runtime.service.js';
5
+ export default defineModel(async (input, invocation) => {
6
+ invocation.signal.throwIfAborted();
7
+ const query = readSubmissionSchema.parse(input);
8
+ const { store } = await loadService(submissionRuntimeService);
9
+ const record = await store.read(query.id);
10
+ invocation.signal.throwIfAborted();
11
+ return record ? { outcome: 'found', record } : { outcome: 'missing' };
12
+ });
13
+ //# sourceMappingURL=read-submission.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-submission.model.js","sourceRoot":"","sources":["../../src/models/read-submission.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CAGxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC5B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACxE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type RetrySubmissionResponse } from '../contracts.js';
2
+ declare const _default: import("@hile/model").ModelDefinition<Readonly<Readonly<{
3
+ id: string;
4
+ actor: string;
5
+ }>>, RetrySubmissionResponse>;
6
+ export default _default;
7
+ //# sourceMappingURL=retry-submission.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-submission.model.d.ts","sourceRoot":"","sources":["../../src/models/retry-submission.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { loadService } from '@hile/core';
2
+ import { defineModel } from '@hile/model';
3
+ import { retrySubmissionCommandSchema, } from '../contracts.js';
4
+ import submissionRuntimeService from '../services/submission-runtime.service.js';
5
+ export default defineModel(async (input, invocation) => {
6
+ invocation.signal.throwIfAborted();
7
+ const command = retrySubmissionCommandSchema.parse(input);
8
+ const { store } = await loadService(submissionRuntimeService);
9
+ const result = await store.retry(command.id, command.actor);
10
+ invocation.signal.throwIfAborted();
11
+ if (!result)
12
+ return { outcome: 'missing' };
13
+ if (!result.retryRequested)
14
+ return { outcome: 'not-retryable', record: result.record };
15
+ return { outcome: 'retry-requested', record: result.record };
16
+ });
17
+ //# sourceMappingURL=retry-submission.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-submission.model.js","sourceRoot":"","sources":["../../src/models/retry-submission.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,4BAA4B,GAG7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CACxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACvF,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC/D,CAAC,CACF,CAAC"}
@@ -0,0 +1,31 @@
1
+ declare const _default: import("@hile/model").ModelDefinition<Readonly<{
2
+ statuses?: ("accepted" | "queued" | "rejected" | "skipped" | "submitting" | "unknown")[] | undefined;
3
+ postId?: string | undefined;
4
+ createdFrom?: string | undefined;
5
+ createdTo?: string | undefined;
6
+ cursor?: string | undefined;
7
+ limit?: number | undefined;
8
+ }>, Readonly<Readonly<{
9
+ items: readonly Readonly<{
10
+ id: string;
11
+ eventId: string;
12
+ postId: string;
13
+ postVersion: number;
14
+ trigger: "publication-updated" | "published";
15
+ url: string;
16
+ status: "accepted" | "queued" | "rejected" | "skipped" | "submitting" | "unknown";
17
+ attempts: number;
18
+ providerAcceptedCount: number | null;
19
+ providerRemaining: number | null;
20
+ providerMessage: string | null;
21
+ lastErrorCode: string | null;
22
+ retryRequestedBy: string | null;
23
+ submittedAt: string | null;
24
+ occurredAt: string;
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ }>[];
28
+ nextCursor: string | null;
29
+ }>>>;
30
+ export default _default;
31
+ //# sourceMappingURL=search-submissions.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-submissions.model.d.ts","sourceRoot":"","sources":["../../src/models/search-submissions.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { loadService } from '@hile/core';
2
+ import { defineModel } from '@hile/model';
3
+ import { searchSubmissionsSchema, } from '../contracts.js';
4
+ import submissionRuntimeService from '../services/submission-runtime.service.js';
5
+ export default defineModel(async (input, invocation) => {
6
+ invocation.signal.throwIfAborted();
7
+ const query = searchSubmissionsSchema.parse(input);
8
+ const { store } = await loadService(submissionRuntimeService);
9
+ const result = await store.search(query);
10
+ invocation.signal.throwIfAborted();
11
+ return result;
12
+ });
13
+ //# sourceMappingURL=search-submissions.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-submissions.model.js","sourceRoot":"","sources":["../../src/models/search-submissions.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,uBAAuB,GAGxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CACxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { EntitySchema } from 'typeorm';
2
+ import type { SubmissionStatus, SubmissionTrigger } from '../contracts.js';
3
+ export interface BaiduSubmitActivationRow {
4
+ id: 'service';
5
+ activatedAt: Date;
6
+ }
7
+ export interface BaiduSubmissionRow {
8
+ id: string;
9
+ eventId: string;
10
+ postId: string;
11
+ postVersion: number;
12
+ trigger: SubmissionTrigger;
13
+ url: string;
14
+ status: SubmissionStatus;
15
+ attempts: number;
16
+ providerAcceptedCount: number | null;
17
+ providerRemaining: number | null;
18
+ providerMessage: string | null;
19
+ lastErrorCode: string | null;
20
+ retryRequestedBy: string | null;
21
+ submittedAt: Date | null;
22
+ occurredAt: Date;
23
+ createdAt: Date;
24
+ updatedAt: Date;
25
+ leasedBy: string | null;
26
+ leaseToken: string | null;
27
+ leaseUntil: Date | null;
28
+ }
29
+ export declare const BaiduSubmitActivationEntity: EntitySchema<BaiduSubmitActivationRow>;
30
+ export declare const BaiduSubmissionEntity: EntitySchema<BaiduSubmissionRow>;
31
+ export declare const baiduSubmitEntities: readonly [EntitySchema<BaiduSubmitActivationRow>, EntitySchema<BaiduSubmissionRow>];
32
+ //# sourceMappingURL=entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,SAAS,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,2BAA2B,wCAOtC,CAAC;AAEH,eAAO,MAAM,qBAAqB,kCAkChC,CAAC;AAEH,eAAO,MAAM,mBAAmB,qFAGtB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { EntitySchema } from 'typeorm';
2
+ export const BaiduSubmitActivationEntity = new EntitySchema({
3
+ name: 'BaiduSubmitActivation',
4
+ tableName: 'baidu_submit_activation',
5
+ columns: {
6
+ id: { type: 'varchar', length: 16, primary: true },
7
+ activatedAt: { name: 'activated_at', type: 'timestamptz', precision: 3 },
8
+ },
9
+ });
10
+ export const BaiduSubmissionEntity = new EntitySchema({
11
+ name: 'BaiduSubmission',
12
+ tableName: 'baidu_submissions',
13
+ columns: {
14
+ id: { type: 'uuid', primary: true },
15
+ eventId: { name: 'event_id', type: 'uuid', unique: true },
16
+ postId: { name: 'post_id', type: 'uuid' },
17
+ postVersion: { name: 'post_version', type: 'integer' },
18
+ trigger: { type: 'varchar', length: 32 },
19
+ url: { type: 'varchar', length: 2_048 },
20
+ status: { type: 'varchar', length: 16 },
21
+ attempts: { type: 'integer', default: 0 },
22
+ providerAcceptedCount: { name: 'provider_accepted_count', type: 'integer', nullable: true },
23
+ providerRemaining: { name: 'provider_remaining', type: 'integer', nullable: true },
24
+ providerMessage: { name: 'provider_message', type: 'varchar', length: 2_000, nullable: true },
25
+ lastErrorCode: { name: 'last_error_code', type: 'varchar', length: 64, nullable: true },
26
+ retryRequestedBy: { name: 'retry_requested_by', type: 'varchar', length: 256, nullable: true },
27
+ submittedAt: { name: 'submitted_at', type: 'timestamptz', precision: 3, nullable: true },
28
+ occurredAt: { name: 'occurred_at', type: 'timestamptz', precision: 3 },
29
+ createdAt: { name: 'created_at', type: 'timestamptz', precision: 3, createDate: true },
30
+ updatedAt: { name: 'updated_at', type: 'timestamptz', precision: 3, updateDate: true },
31
+ leasedBy: { name: 'leased_by', type: 'varchar', length: 128, nullable: true },
32
+ leaseToken: { name: 'lease_token', type: 'uuid', nullable: true },
33
+ leaseUntil: { name: 'lease_until', type: 'timestamptz', precision: 3, nullable: true },
34
+ },
35
+ checks: [
36
+ { name: 'chk_baidu_submission_post_version', expression: '"post_version" > 0' },
37
+ { name: 'chk_baidu_submission_attempts', expression: '"attempts" >= 0' },
38
+ ],
39
+ indices: [
40
+ { columns: ['status', 'createdAt', 'id'] },
41
+ { columns: ['postId', 'createdAt', 'id'] },
42
+ { columns: ['createdAt', 'id'] },
43
+ ],
44
+ });
45
+ export const baiduSubmitEntities = [
46
+ BaiduSubmitActivationEntity,
47
+ BaiduSubmissionEntity,
48
+ ];
49
+ //# sourceMappingURL=entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { type SearchSubmissionsInput, type SubmissionPage, type SubmissionRecord, type SubmissionServiceStatus, type SubmissionTrigger } from '../contracts.js';
2
+ import { type DataSource } from 'typeorm';
3
+ type SubmissionChangeListener = (id: string) => void | Promise<void>;
4
+ export interface SubmissionIntent {
5
+ readonly eventId: string;
6
+ readonly postId: string;
7
+ readonly postVersion: number;
8
+ readonly trigger: SubmissionTrigger;
9
+ readonly url: string;
10
+ readonly occurredAt: string;
11
+ }
12
+ export interface ClaimedSubmission extends SubmissionRecord {
13
+ readonly leaseToken: string;
14
+ }
15
+ export type RetrySubmissionStoreResult = Readonly<{
16
+ retryRequested: boolean;
17
+ record: SubmissionRecord;
18
+ }>;
19
+ export declare class SubmissionStore {
20
+ #private;
21
+ private readonly database;
22
+ constructor(database: DataSource, options?: {
23
+ readonly clock?: () => Date;
24
+ });
25
+ activate(at?: Date): Promise<Date>;
26
+ subscribe(listener: SubmissionChangeListener): () => void;
27
+ recordIntent(input: SubmissionIntent): Promise<SubmissionRecord>;
28
+ read(id: string): Promise<SubmissionRecord | null>;
29
+ search(input: SearchSubmissionsInput): Promise<SubmissionPage>;
30
+ claimNext(worker: string, leaseMs: number): Promise<ClaimedSubmission | null>;
31
+ completeAccepted(id: string, leaseToken: string, acceptedCount: number, remaining: number, message: string | null): Promise<boolean>;
32
+ completeRejected(id: string, leaseToken: string, code: string, message: string, acceptedCount: number, remaining: number | null): Promise<boolean>;
33
+ completeUnknown(id: string, leaseToken: string, code: string, message: string): Promise<boolean>;
34
+ recoverExpired(now?: Date): Promise<number>;
35
+ retry(id: string, actor: string): Promise<RetrySubmissionStoreResult | null>;
36
+ status(): Promise<SubmissionServiceStatus>;
37
+ private complete;
38
+ private notifyChanged;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=submission-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-store.d.ts","sourceRoot":"","sources":["../../src/persistence/submission-store.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAOL,KAAK,UAAU,EAIhB,MAAM,SAAS,CAAC;AAQjB,KAAK,wBAAwB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC,CAAC;AAEH,qBAAa,eAAe;;IAMxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAD3B,YACmB,QAAQ,EAAE,UAAU,EACrC,OAAO,GAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAO,EAI9C;IAEY,QAAQ,CAAC,EAAE,OAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvD;IAEM,SAAS,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,IAAI,CAG/D;IAEY,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuB5E;IAEY,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAG9D;IAEY,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAkC1E;IAEY,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA0BzF;IAEM,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,OAAO,CAAC,CASlB;IAEM,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,OAAO,CAAC,CASlB;IAEM,eAAe,CACpB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CASlB;IAEY,cAAc,CAAC,GAAG,OAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBhE;IAEY,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CA8BxF;IAEY,MAAM,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAiBtD;YAEa,QAAQ;IAatB,OAAO,CAAC,aAAa;CAStB"}