xtrawl 0.1.2 → 0.1.3
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/auth/bootstrap.d.ts +1 -1
- package/dist/auth/bootstrap.d.ts.map +1 -1
- package/dist/auth/bootstrap.js +27 -14
- package/dist/auth/bootstrap.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +13 -12
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.d.ts +2 -14
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +26 -30
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/types.d.ts +17 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/client/accounts.d.ts.map +1 -1
- package/dist/client/accounts.js +13 -6
- package/dist/client/accounts.js.map +1 -1
- package/dist/client/client.d.ts +13 -1
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +93 -38
- package/dist/client/client.js.map +1 -1
- package/dist/client/collectors.d.ts +2 -10
- package/dist/client/collectors.d.ts.map +1 -1
- package/dist/client/collectors.js +122 -57
- package/dist/client/collectors.js.map +1 -1
- package/dist/client/database.d.ts +6 -18
- package/dist/client/database.d.ts.map +1 -1
- package/dist/client/database.js +4 -21
- package/dist/client/database.js.map +1 -1
- package/dist/client/page-commit.d.ts +15 -0
- package/dist/client/page-commit.d.ts.map +1 -0
- package/dist/client/page-commit.js +19 -0
- package/dist/client/page-commit.js.map +1 -0
- package/dist/client/profiles.d.ts +1 -1
- package/dist/client/profiles.d.ts.map +1 -1
- package/dist/client/profiles.js +10 -3
- package/dist/client/profiles.js.map +1 -1
- package/dist/client/search.d.ts +2 -15
- package/dist/client/search.d.ts.map +1 -1
- package/dist/client/search.js +64 -25
- package/dist/client/search.js.map +1 -1
- package/dist/client/types.d.ts +40 -2
- package/dist/client/types.d.ts.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/types.d.ts +5 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/validation.d.ts +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +27 -11
- package/dist/config/validation.js.map +1 -1
- package/dist/constants/accounts.d.ts +16 -0
- package/dist/constants/accounts.d.ts.map +1 -0
- package/dist/constants/accounts.js +16 -0
- package/dist/constants/accounts.js.map +1 -0
- package/dist/constants/cli.d.ts +10 -0
- package/dist/constants/cli.d.ts.map +1 -0
- package/dist/constants/cli.js +10 -0
- package/dist/constants/cli.js.map +1 -0
- package/dist/constants/collection.d.ts +9 -0
- package/dist/constants/collection.d.ts.map +1 -0
- package/dist/constants/collection.js +9 -0
- package/dist/constants/collection.js.map +1 -0
- package/dist/constants/config.d.ts +6 -0
- package/dist/constants/config.d.ts.map +1 -0
- package/dist/constants/config.js +6 -0
- package/dist/constants/config.js.map +1 -0
- package/dist/constants/errors.d.ts +9 -0
- package/dist/constants/errors.d.ts.map +1 -0
- package/dist/constants/errors.js +9 -0
- package/dist/constants/errors.js.map +1 -0
- package/dist/constants/output.d.ts +7 -0
- package/dist/constants/output.d.ts.map +1 -0
- package/dist/constants/output.js +7 -0
- package/dist/constants/output.js.map +1 -0
- package/dist/constants/pages.d.ts +5 -0
- package/dist/constants/pages.d.ts.map +1 -0
- package/dist/constants/pages.js +5 -0
- package/dist/constants/pages.js.map +1 -0
- package/dist/constants/requests.d.ts +18 -0
- package/dist/constants/requests.d.ts.map +1 -0
- package/dist/constants/requests.js +18 -0
- package/dist/constants/requests.js.map +1 -0
- package/dist/constants/runner.d.ts +8 -0
- package/dist/constants/runner.d.ts.map +1 -0
- package/dist/constants/runner.js +8 -0
- package/dist/constants/runner.js.map +1 -0
- package/dist/constants/runs.d.ts +8 -0
- package/dist/constants/runs.d.ts.map +1 -0
- package/dist/constants/runs.js +8 -0
- package/dist/constants/runs.js.map +1 -0
- package/dist/domain/accounts.d.ts +4 -2
- package/dist/domain/accounts.d.ts.map +1 -1
- package/dist/domain/collection.d.ts +27 -0
- package/dist/domain/collection.d.ts.map +1 -0
- package/dist/domain/collection.js +2 -0
- package/dist/domain/collection.js.map +1 -0
- package/dist/domain/diagnostics.d.ts +11 -0
- package/dist/domain/diagnostics.d.ts.map +1 -0
- package/dist/domain/diagnostics.js +2 -0
- package/dist/domain/diagnostics.js.map +1 -0
- package/dist/domain/errors.d.ts +2 -1
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +10 -9
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/http.d.ts +7 -1
- package/dist/domain/http.d.ts.map +1 -1
- package/dist/domain/manifest.d.ts +8 -0
- package/dist/domain/manifest.d.ts.map +1 -1
- package/dist/domain/output.d.ts +3 -0
- package/dist/domain/output.d.ts.map +1 -0
- package/dist/domain/output.js +2 -0
- package/dist/domain/output.js.map +1 -0
- package/dist/domain/pages.d.ts +20 -0
- package/dist/domain/pages.d.ts.map +1 -0
- package/dist/domain/pages.js +2 -0
- package/dist/domain/pages.js.map +1 -0
- package/dist/domain/pool.d.ts +22 -0
- package/dist/domain/pool.d.ts.map +1 -0
- package/dist/domain/pool.js +2 -0
- package/dist/domain/pool.js.map +1 -0
- package/dist/domain/records.d.ts +2 -1
- package/dist/domain/records.d.ts.map +1 -1
- package/dist/domain/requests.d.ts +15 -10
- package/dist/domain/requests.d.ts.map +1 -1
- package/dist/domain/runner.d.ts +30 -0
- package/dist/domain/runner.d.ts.map +1 -0
- package/dist/domain/runner.js +2 -0
- package/dist/domain/runner.js.map +1 -0
- package/dist/domain/runs.d.ts +12 -0
- package/dist/domain/runs.d.ts.map +1 -0
- package/dist/domain/runs.js +2 -0
- package/dist/domain/runs.js.map +1 -0
- package/dist/engine/api-engine.d.ts +7 -7
- package/dist/engine/api-engine.d.ts.map +1 -1
- package/dist/engine/api-engine.js +42 -19
- package/dist/engine/api-engine.js.map +1 -1
- package/dist/engine/extractors.d.ts +2 -8
- package/dist/engine/extractors.d.ts.map +1 -1
- package/dist/engine/extractors.js +30 -11
- package/dist/engine/extractors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/manifest/destinations.d.ts +4 -0
- package/dist/manifest/destinations.d.ts.map +1 -0
- package/dist/manifest/destinations.js +47 -0
- package/dist/manifest/destinations.js.map +1 -0
- package/dist/manifest/model.d.ts +3 -2
- package/dist/manifest/model.d.ts.map +1 -1
- package/dist/manifest/model.js +6 -1
- package/dist/manifest/model.js.map +1 -1
- package/dist/manifest/provider.d.ts +10 -3
- package/dist/manifest/provider.d.ts.map +1 -1
- package/dist/manifest/provider.js +86 -34
- package/dist/manifest/provider.js.map +1 -1
- package/dist/manifest/scraper.d.ts +2 -6
- package/dist/manifest/scraper.d.ts.map +1 -1
- package/dist/manifest/scraper.js +46 -15
- package/dist/manifest/scraper.js.map +1 -1
- package/dist/output/csv-writer.d.ts.map +1 -1
- package/dist/output/csv-writer.js +32 -10
- package/dist/output/csv-writer.js.map +1 -1
- package/dist/output/json-writer.d.ts +1 -0
- package/dist/output/json-writer.d.ts.map +1 -1
- package/dist/output/json-writer.js +36 -11
- package/dist/output/json-writer.js.map +1 -1
- package/dist/output/lock.d.ts +2 -0
- package/dist/output/lock.d.ts.map +1 -0
- package/dist/output/lock.js +18 -0
- package/dist/output/lock.js.map +1 -0
- package/dist/output/writer.d.ts +2 -1
- package/dist/output/writer.d.ts.map +1 -1
- package/dist/output/writer.js +6 -3
- package/dist/output/writer.js.map +1 -1
- package/dist/pool/account-pool.d.ts +3 -12
- package/dist/pool/account-pool.d.ts.map +1 -1
- package/dist/pool/account-pool.js +54 -16
- package/dist/pool/account-pool.js.map +1 -1
- package/dist/pool/cooldown.d.ts +3 -7
- package/dist/pool/cooldown.d.ts.map +1 -1
- package/dist/pool/cooldown.js +10 -7
- package/dist/pool/cooldown.js.map +1 -1
- package/dist/pool/limiter.d.ts +3 -3
- package/dist/pool/limiter.d.ts.map +1 -1
- package/dist/pool/limiter.js +5 -6
- package/dist/pool/limiter.js.map +1 -1
- package/dist/query/builder.d.ts +1 -1
- package/dist/query/builder.d.ts.map +1 -1
- package/dist/query/builder.js +10 -4
- package/dist/query/builder.js.map +1 -1
- package/dist/query/collection-id.d.ts +3 -0
- package/dist/query/collection-id.d.ts.map +1 -0
- package/dist/query/collection-id.js +21 -0
- package/dist/query/collection-id.js.map +1 -0
- package/dist/query/normalize.d.ts +3 -32
- package/dist/query/normalize.d.ts.map +1 -1
- package/dist/query/normalize.js +10 -16
- package/dist/query/normalize.js.map +1 -1
- package/dist/query/targets.d.ts +2 -7
- package/dist/query/targets.d.ts.map +1 -1
- package/dist/query/targets.js.map +1 -1
- package/dist/query/types.d.ts +40 -0
- package/dist/query/types.d.ts.map +1 -0
- package/dist/query/types.js +2 -0
- package/dist/query/types.js.map +1 -0
- package/dist/runner/index.d.ts +3 -0
- package/dist/runner/index.d.ts.map +1 -1
- package/dist/runner/index.js.map +1 -1
- package/dist/runner/retry.d.ts +3 -6
- package/dist/runner/retry.d.ts.map +1 -1
- package/dist/runner/retry.js +5 -3
- package/dist/runner/retry.js.map +1 -1
- package/dist/runner/runner.d.ts +2 -14
- package/dist/runner/runner.d.ts.map +1 -1
- package/dist/runner/runner.js +11 -7
- package/dist/runner/runner.js.map +1 -1
- package/dist/runner/task-queue.d.ts +9 -11
- package/dist/runner/task-queue.d.ts.map +1 -1
- package/dist/runner/task-queue.js +79 -32
- package/dist/runner/task-queue.js.map +1 -1
- package/dist/storage/account-repository.d.ts +2 -15
- package/dist/storage/account-repository.d.ts.map +1 -1
- package/dist/storage/account-repository.js +65 -35
- package/dist/storage/account-repository.js.map +1 -1
- package/dist/storage/database.d.ts +3 -1
- package/dist/storage/database.d.ts.map +1 -1
- package/dist/storage/database.js +10 -4
- package/dist/storage/database.js.map +1 -1
- package/dist/storage/index.d.ts +3 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +2 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/progress-repository.d.ts +12 -0
- package/dist/storage/progress-repository.d.ts.map +1 -0
- package/dist/storage/progress-repository.js +76 -0
- package/dist/storage/progress-repository.js.map +1 -0
- package/dist/storage/run-repository.d.ts +4 -10
- package/dist/storage/run-repository.d.ts.map +1 -1
- package/dist/storage/run-repository.js +4 -2
- package/dist/storage/run-repository.js.map +1 -1
- package/dist/storage/schema.d.ts.map +1 -1
- package/dist/storage/schema.js +19 -0
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/types.d.ts +15 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/transport/body.d.ts +15 -0
- package/dist/transport/body.d.ts.map +1 -0
- package/dist/transport/body.js +61 -0
- package/dist/transport/body.js.map +1 -0
- package/dist/transport/dispatcher-pool.d.ts +13 -0
- package/dist/transport/dispatcher-pool.d.ts.map +1 -0
- package/dist/transport/dispatcher-pool.js +47 -0
- package/dist/transport/dispatcher-pool.js.map +1 -0
- package/dist/transport/graphql.d.ts +1 -1
- package/dist/transport/graphql.d.ts.map +1 -1
- package/dist/transport/graphql.js +36 -19
- package/dist/transport/graphql.js.map +1 -1
- package/dist/transport/session.d.ts +8 -11
- package/dist/transport/session.d.ts.map +1 -1
- package/dist/transport/session.js +71 -26
- package/dist/transport/session.js.map +1 -1
- package/dist/transport/transaction-id.d.ts +2 -7
- package/dist/transport/transaction-id.d.ts.map +1 -1
- package/dist/transport/transaction-id.js +20 -16
- package/dist/transport/transaction-id.js.map +1 -1
- package/dist/transport/types.d.ts +28 -0
- package/dist/transport/types.d.ts.map +1 -0
- package/dist/transport/types.js +2 -0
- package/dist/transport/types.js.map +1 -0
- package/dist/utils/abort.d.ts +6 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +45 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/redact.d.ts +5 -0
- package/dist/utils/redact.d.ts.map +1 -0
- package/dist/utils/redact.js +42 -0
- package/dist/utils/redact.js.map +1 -0
- package/docs/architecture/overview.md +6 -4
- package/docs/product/specification.md +10 -9
- package/docs/security/data-boundary.md +3 -0
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,eAAe;IACU;IAApC,YAAoC,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,GAAG,CAAC,KAAmB,EAAE,MAAkC;QACtE,MAAM,KAAK,GAAG,IAAI,SAAS,EAAK,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAoE,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;YACxC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC;wBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC;wBACpD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACzD,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI;4BAClE,KAAK;yBACN,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
readonly payload: T;
|
|
4
|
-
readonly attempts: number;
|
|
5
|
-
readonly status: "queued" | "leased" | "complete" | "failed" | "cancelled";
|
|
6
|
-
readonly leasedUntil?: number;
|
|
7
|
-
readonly error?: string;
|
|
8
|
-
}
|
|
1
|
+
import type { QueueTask } from "../domain/runner.js";
|
|
2
|
+
export type { QueueTask } from "../domain/runner.js";
|
|
9
3
|
export declare class TaskQueue<T> {
|
|
10
4
|
private readonly tasks;
|
|
5
|
+
private readonly ready;
|
|
6
|
+
private readyHead;
|
|
11
7
|
enqueue(id: string, payload: T): QueueTask<T>;
|
|
12
8
|
lease(ttlMs?: number): QueueTask<T> | undefined;
|
|
13
|
-
ack(id: string): boolean;
|
|
14
|
-
retry(id: string, error?: string): boolean;
|
|
15
|
-
fail(id: string, error?: string): boolean;
|
|
9
|
+
ack(id: string, generation?: number): boolean;
|
|
10
|
+
retry(id: string, error?: string, generation?: number): boolean;
|
|
11
|
+
fail(id: string, error?: string, generation?: number): boolean;
|
|
16
12
|
cancel(id: string): boolean;
|
|
17
13
|
snapshot(): readonly QueueTask<T>[];
|
|
14
|
+
private owned;
|
|
15
|
+
private compactReady;
|
|
18
16
|
}
|
|
19
17
|
//# sourceMappingURL=task-queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-queue.d.ts","sourceRoot":"","sources":["../../src/runner/task-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-queue.d.ts","sourceRoot":"","sources":["../../src/runner/task-queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAYrD,qBAAa,SAAS,CAAC,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAK;IAEf,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAe7C,KAAK,CAAC,KAAK,SAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;IAiBhD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ7C,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAU/D,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAS9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAS3B,QAAQ,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE;IAI1C,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,YAAY;CAKrB"}
|
|
@@ -1,58 +1,105 @@
|
|
|
1
|
+
import { QUEUE_TASK_STATUS } from "../constants/runner.js";
|
|
1
2
|
export class TaskQueue {
|
|
2
3
|
tasks = new Map();
|
|
4
|
+
ready = [];
|
|
5
|
+
readyHead = 0;
|
|
3
6
|
enqueue(id, payload) {
|
|
4
|
-
const
|
|
7
|
+
const existing = this.tasks.get(id);
|
|
8
|
+
if (existing)
|
|
9
|
+
return snapshot(existing);
|
|
10
|
+
const task = {
|
|
11
|
+
id,
|
|
12
|
+
payload,
|
|
13
|
+
attempts: 0,
|
|
14
|
+
generation: 0,
|
|
15
|
+
status: QUEUE_TASK_STATUS.QUEUED,
|
|
16
|
+
};
|
|
5
17
|
this.tasks.set(id, task);
|
|
6
|
-
|
|
18
|
+
this.ready.push(id);
|
|
19
|
+
return snapshot(task);
|
|
7
20
|
}
|
|
8
21
|
lease(ttlMs = 120_000) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
22
|
+
void ttlMs;
|
|
23
|
+
while (this.readyHead < this.ready.length) {
|
|
24
|
+
const id = this.ready[this.readyHead++];
|
|
25
|
+
if (id === undefined)
|
|
26
|
+
break;
|
|
27
|
+
const task = this.tasks.get(id);
|
|
28
|
+
if (!task || task.status !== QUEUE_TASK_STATUS.QUEUED)
|
|
29
|
+
continue;
|
|
30
|
+
task.status = QUEUE_TASK_STATUS.LEASED;
|
|
31
|
+
task.attempts += 1;
|
|
32
|
+
task.generation += 1;
|
|
33
|
+
delete task.leasedUntil;
|
|
34
|
+
return snapshot(task);
|
|
13
35
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return undefined;
|
|
17
|
-
const leased = {
|
|
18
|
-
...next,
|
|
19
|
-
status: "leased",
|
|
20
|
-
attempts: next.attempts + 1,
|
|
21
|
-
leasedUntil: now + ttlMs,
|
|
22
|
-
};
|
|
23
|
-
this.tasks.set(next.id, leased);
|
|
24
|
-
return leased;
|
|
36
|
+
this.compactReady();
|
|
37
|
+
return undefined;
|
|
25
38
|
}
|
|
26
|
-
ack(id) {
|
|
27
|
-
const task = this.
|
|
28
|
-
if (!task
|
|
39
|
+
ack(id, generation) {
|
|
40
|
+
const task = this.owned(id, generation);
|
|
41
|
+
if (!task)
|
|
29
42
|
return false;
|
|
30
|
-
|
|
43
|
+
task.status = QUEUE_TASK_STATUS.COMPLETE;
|
|
44
|
+
delete task.leasedUntil;
|
|
31
45
|
return true;
|
|
32
46
|
}
|
|
33
|
-
retry(id, error) {
|
|
34
|
-
const task = this.
|
|
35
|
-
if (!task
|
|
47
|
+
retry(id, error, generation) {
|
|
48
|
+
const task = this.owned(id, generation);
|
|
49
|
+
if (!task)
|
|
36
50
|
return false;
|
|
37
|
-
|
|
51
|
+
task.status = QUEUE_TASK_STATUS.QUEUED;
|
|
52
|
+
delete task.leasedUntil;
|
|
53
|
+
if (error !== undefined)
|
|
54
|
+
task.error = error;
|
|
55
|
+
this.ready.splice(this.readyHead, 0, task.id);
|
|
38
56
|
return true;
|
|
39
57
|
}
|
|
40
|
-
fail(id, error) {
|
|
41
|
-
const task = this.
|
|
42
|
-
if (!task
|
|
58
|
+
fail(id, error, generation) {
|
|
59
|
+
const task = this.owned(id, generation);
|
|
60
|
+
if (!task)
|
|
43
61
|
return false;
|
|
44
|
-
|
|
62
|
+
task.status = QUEUE_TASK_STATUS.FAILED;
|
|
63
|
+
delete task.leasedUntil;
|
|
64
|
+
if (error !== undefined)
|
|
65
|
+
task.error = error;
|
|
45
66
|
return true;
|
|
46
67
|
}
|
|
47
68
|
cancel(id) {
|
|
48
69
|
const task = this.tasks.get(id);
|
|
49
|
-
if (!task || task.status ===
|
|
70
|
+
if (!task || task.status === QUEUE_TASK_STATUS.COMPLETE || task.status === QUEUE_TASK_STATUS.FAILED)
|
|
50
71
|
return false;
|
|
51
|
-
|
|
72
|
+
task.status = QUEUE_TASK_STATUS.CANCELLED;
|
|
73
|
+
delete task.leasedUntil;
|
|
52
74
|
return true;
|
|
53
75
|
}
|
|
54
76
|
snapshot() {
|
|
55
|
-
return [...this.tasks.values()];
|
|
77
|
+
return [...this.tasks.values()].map(snapshot);
|
|
56
78
|
}
|
|
79
|
+
owned(id, generation) {
|
|
80
|
+
const task = this.tasks.get(id);
|
|
81
|
+
if (!task || task.status !== QUEUE_TASK_STATUS.LEASED)
|
|
82
|
+
return undefined;
|
|
83
|
+
if (generation !== undefined && task.generation !== generation)
|
|
84
|
+
return undefined;
|
|
85
|
+
return task;
|
|
86
|
+
}
|
|
87
|
+
compactReady() {
|
|
88
|
+
if (this.readyHead === 0)
|
|
89
|
+
return;
|
|
90
|
+
this.ready.splice(0, this.readyHead);
|
|
91
|
+
this.readyHead = 0;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function snapshot(task) {
|
|
95
|
+
return {
|
|
96
|
+
id: task.id,
|
|
97
|
+
payload: task.payload,
|
|
98
|
+
attempts: task.attempts,
|
|
99
|
+
generation: task.generation,
|
|
100
|
+
status: task.status,
|
|
101
|
+
...(task.leasedUntil !== undefined ? { leasedUntil: task.leasedUntil } : {}),
|
|
102
|
+
...(task.error !== undefined ? { error: task.error } : {}),
|
|
103
|
+
};
|
|
57
104
|
}
|
|
58
105
|
//# sourceMappingURL=task-queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-queue.js","sourceRoot":"","sources":["../../src/runner/task-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-queue.js","sourceRoot":"","sources":["../../src/runner/task-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
import type { AccountLease, AccountRecord, AccountSummary, ProxySettings } from "../domain/accounts.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { AccountRepositoryOptions, ReleaseOptions } from "./types.js";
|
|
3
3
|
import type { AccountLeaseCompletion, AccountLeaseRequest, AccountStateStore } from "../domain/account-state.js";
|
|
4
4
|
import { StateDatabase } from "./database.js";
|
|
5
5
|
export { rowToAccount } from "./account-row.js";
|
|
6
|
-
export
|
|
7
|
-
readonly status?: AccountStatus;
|
|
8
|
-
readonly availableUntil?: number;
|
|
9
|
-
readonly lastErrorCode?: number;
|
|
10
|
-
readonly cooldownReason?: string;
|
|
11
|
-
readonly dailyRequests?: number;
|
|
12
|
-
}
|
|
13
|
-
export interface AccountRepositoryOptions {
|
|
14
|
-
readonly dailyRequestsLimit?: number;
|
|
15
|
-
readonly dailyTweetsLimit?: number;
|
|
16
|
-
readonly leaseTtlMs?: number;
|
|
17
|
-
}
|
|
6
|
+
export type { AccountRepositoryOptions, ReleaseOptions } from "./types.js";
|
|
18
7
|
export declare class AccountRepository implements AccountStateStore {
|
|
19
8
|
private readonly database;
|
|
20
9
|
readonly kind = "sqlite";
|
|
@@ -50,8 +39,6 @@ export declare class AccountRepository implements AccountStateStore {
|
|
|
50
39
|
readonly merged: number;
|
|
51
40
|
};
|
|
52
41
|
private insert;
|
|
53
|
-
private resetExpiredCooldowns;
|
|
54
|
-
private resetDailyCounters;
|
|
55
42
|
private isEligible;
|
|
56
43
|
}
|
|
57
44
|
//# sourceMappingURL=account-repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-repository.d.ts","sourceRoot":"","sources":["../../src/storage/account-repository.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EAEd,aAAa,EACd,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"account-repository.d.ts","sourceRoot":"","sources":["../../src/storage/account-repository.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EAEd,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY3E,qBAAa,iBAAkB,YAAW,iBAAiB;IAOvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN3B,SAAgB,IAAI,YAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGjB,QAAQ,EAAE,aAAa,EACxC,OAAO,GAAE,wBAA6B;IAOjC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAqC7C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAK3D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAK7D,IAAI,IAAI,aAAa,EAAE;IAIvB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIjC,UAAU,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI;IAOpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO;IAUnE,OAAO,IAAI,cAAc;IA2BzB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,SAAa,GAAG,OAAO;IAI3D,KAAK,CACV,OAAO,GAAE;QAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9E,YAAY,GAAG,SAAS;IAapB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,GAAG,SAAS;IA+CpE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAIvD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAO5D,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,MAAM,SAAI,GAAG,OAAO;IAqB5D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO;IAqB/D,aAAa,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO;IA+B1D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAWrE,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,eAAe,UAAQ,GAAG,MAAM;IAoB9E,WAAW,CAAC,WAAW,UAAO,GAAG,MAAM;IAYvC,eAAe,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM;IAiBtD,6BAA6B,IAAI;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAyB7F,OAAO,CAAC,MAAM;IA2Bd,OAAO,CAAC,UAAU;CAcnB"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { ACCOUNT_HEALTH, ACCOUNT_STATUS_CODE } from "../constants/accounts.js";
|
|
3
|
+
import { asInteger } from "../utils/guards.js";
|
|
2
4
|
import { StateDatabase } from "./database.js";
|
|
3
5
|
import { rowToAccount } from "./account-row.js";
|
|
4
6
|
export { rowToAccount } from "./account-row.js";
|
|
5
7
|
const DEFAULT_DAILY_REQUESTS_LIMIT = 30;
|
|
6
8
|
const DEFAULT_DAILY_TWEETS_LIMIT = 600;
|
|
7
9
|
const DEFAULT_LEASE_TTL_MS = 120_000;
|
|
10
|
+
const ELIGIBILITY_SQL = `status != ${ACCOUNT_STATUS_CODE.UNUSABLE}
|
|
11
|
+
AND (status != ${ACCOUNT_STATUS_CODE.COOLING_DOWN} OR available_until <= ?)
|
|
12
|
+
AND (lease_id IS NULL OR lease_expires_at IS NULL OR lease_expires_at <= ?)
|
|
13
|
+
AND (? = 0 OR (auth_token IS NOT NULL AND auth_token != '' AND csrf_token IS NOT NULL AND csrf_token != ''))
|
|
14
|
+
AND (last_reset_date IS NULL OR last_reset_date <> ? OR (daily_requests < ? AND daily_tweets < ?))`;
|
|
8
15
|
export class AccountRepository {
|
|
9
16
|
database;
|
|
10
17
|
kind = "sqlite";
|
|
@@ -26,7 +33,7 @@ export class AccountRepository {
|
|
|
26
33
|
? account.username
|
|
27
34
|
: existing.username;
|
|
28
35
|
const cookies = { ...existing.cookies, ...account.cookies };
|
|
29
|
-
this.database.run(`UPDATE accounts SET username=?, password=?, email=?, email_password=?, two_factor_secret=?, auth_token=?, csrf_token=?, cookies_json=?, bearer_token=?, proxy_json=?, status=?, available_until=?, daily_requests=?, daily_tweets=?, total_tweets=?, last_reset_date=?, last_used=?, last_error_code=?, cooldown_reason=? WHERE id=?`, username, account.password ?? existing.password ?? null, account.email ?? existing.email ?? null, account.emailPassword ?? existing.emailPassword ?? null, account.twoFactorSecret ?? existing.twoFactorSecret ?? null, account.authToken ?? existing.authToken ?? null, account.csrfToken ?? existing.csrfToken ?? null, JSON.stringify(cookies), account.bearerToken ?? existing.bearerToken ?? null, account.proxy ? JSON.stringify(account.proxy) : existing.proxy ? JSON.stringify(existing.proxy) : null, account.status ?? existing.status ??
|
|
36
|
+
this.database.run(`UPDATE accounts SET username=?, password=?, email=?, email_password=?, two_factor_secret=?, auth_token=?, csrf_token=?, cookies_json=?, bearer_token=?, proxy_json=?, status=?, available_until=?, daily_requests=?, daily_tweets=?, total_tweets=?, last_reset_date=?, last_used=?, last_error_code=?, cooldown_reason=? WHERE id=?`, username, account.password ?? existing.password ?? null, account.email ?? existing.email ?? null, account.emailPassword ?? existing.emailPassword ?? null, account.twoFactorSecret ?? existing.twoFactorSecret ?? null, account.authToken ?? existing.authToken ?? null, account.csrfToken ?? existing.csrfToken ?? null, JSON.stringify(cookies), account.bearerToken ?? existing.bearerToken ?? null, account.proxy ? JSON.stringify(account.proxy) : existing.proxy ? JSON.stringify(existing.proxy) : null, account.status ?? existing.status ?? ACCOUNT_STATUS_CODE.HEALTHY, account.availableUntil ?? existing.availableUntil ?? 0, account.dailyRequests ?? existing.dailyRequests ?? 0, account.dailyTweets ?? existing.dailyTweets ?? 0, account.totalTweets ?? existing.totalTweets ?? 0, account.lastResetDate ?? existing.lastResetDate ?? utcDate(), account.lastUsed ?? existing.lastUsed ?? 0, account.lastErrorCode ?? existing.lastErrorCode ?? null, account.cooldownReason ?? existing.cooldownReason ?? null, existing.id ?? null);
|
|
30
37
|
return this.findByUsername(username);
|
|
31
38
|
}
|
|
32
39
|
findByUsername(username) {
|
|
@@ -55,13 +62,21 @@ export class AccountRepository {
|
|
|
55
62
|
}
|
|
56
63
|
summary() {
|
|
57
64
|
const now = Date.now();
|
|
58
|
-
const
|
|
65
|
+
const today = utcDate(now);
|
|
66
|
+
const row = this.database.get(`SELECT
|
|
67
|
+
COUNT(*) AS total,
|
|
68
|
+
SUM(CASE WHEN status=0 THEN 1 ELSE 0 END) AS unusable,
|
|
69
|
+
SUM(CASE WHEN status=2 AND available_until>? THEN 1 ELSE 0 END) AS cooling,
|
|
70
|
+
SUM(CASE WHEN status!=0 AND (status!=2 OR available_until<=?)
|
|
71
|
+
AND (last_reset_date IS NULL OR last_reset_date<>? OR (daily_requests<? AND daily_tweets<?))
|
|
72
|
+
THEN 1 ELSE 0 END) AS eligible
|
|
73
|
+
FROM accounts`, now, now, today, this.dailyRequestsLimit, this.dailyTweetsLimit);
|
|
59
74
|
return {
|
|
60
75
|
dbPath: this.database.path,
|
|
61
|
-
total:
|
|
62
|
-
eligible:
|
|
63
|
-
unusable:
|
|
64
|
-
coolingDown:
|
|
76
|
+
total: Number(row?.total ?? 0),
|
|
77
|
+
eligible: Number(row?.eligible ?? 0),
|
|
78
|
+
unusable: Number(row?.unusable ?? 0),
|
|
79
|
+
coolingDown: Number(row?.cooling ?? 0),
|
|
65
80
|
};
|
|
66
81
|
}
|
|
67
82
|
eligible(account, now = Date.now()) {
|
|
@@ -81,16 +96,27 @@ export class AccountRepository {
|
|
|
81
96
|
}
|
|
82
97
|
acquireLease(request) {
|
|
83
98
|
return this.database.transaction(() => {
|
|
84
|
-
this.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if (!selected
|
|
99
|
+
const selected = this.database.get(`SELECT id, username FROM accounts
|
|
100
|
+
WHERE ${ELIGIBILITY_SQL}
|
|
101
|
+
ORDER BY last_used ASC, id ASC
|
|
102
|
+
LIMIT 1`, request.now, request.now, request.requireAuthMaterial ? 1 : 0, request.utcDate, request.dailyRequestsLimit, request.dailyTweetsLimit);
|
|
103
|
+
if (!selected)
|
|
89
104
|
return undefined;
|
|
90
|
-
const
|
|
105
|
+
const selectedId = asInteger(selected.id);
|
|
106
|
+
if (!selectedId)
|
|
107
|
+
return undefined;
|
|
108
|
+
const changed = this.database.run(`UPDATE accounts
|
|
109
|
+
SET lease_id=?, lease_expires_at=?, last_used=?,
|
|
110
|
+
daily_requests=CASE WHEN last_reset_date IS NULL OR last_reset_date<>? THEN 0 ELSE daily_requests END,
|
|
111
|
+
daily_tweets=CASE WHEN last_reset_date IS NULL OR last_reset_date<>? THEN 0 ELSE daily_tweets END,
|
|
112
|
+
last_reset_date=?,
|
|
113
|
+
status=CASE WHEN status=2 AND available_until<=? THEN 1 ELSE status END,
|
|
114
|
+
available_until=CASE WHEN status=2 AND available_until<=? THEN 0 ELSE available_until END,
|
|
115
|
+
cooldown_reason=CASE WHEN status=2 AND available_until<=? THEN NULL ELSE cooldown_reason END
|
|
116
|
+
WHERE id=? AND (lease_id IS NULL OR lease_expires_at IS NULL OR lease_expires_at<=?)`, request.leaseId, request.leaseExpiresAt, request.now, request.utcDate, request.utcDate, request.utcDate, request.now, request.now, request.now, selectedId, request.now).changes;
|
|
91
117
|
if (changed !== 1)
|
|
92
118
|
return undefined;
|
|
93
|
-
const current = this.findByUsername(selected.username);
|
|
119
|
+
const current = this.findByUsername(String(selected.username));
|
|
94
120
|
return current
|
|
95
121
|
? { ...current, leaseId: request.leaseId, leaseExpiresAt: request.leaseExpiresAt }
|
|
96
122
|
: undefined;
|
|
@@ -104,24 +130,34 @@ export class AccountRepository {
|
|
|
104
130
|
.changes === 1);
|
|
105
131
|
}
|
|
106
132
|
recordUsage(leaseId, pages = 1, tweets = 0) {
|
|
107
|
-
|
|
108
|
-
return (this.database.run(
|
|
133
|
+
const today = utcDate();
|
|
134
|
+
return (this.database.run(`UPDATE accounts SET
|
|
135
|
+
daily_requests=CASE WHEN last_reset_date IS NULL OR last_reset_date<>? THEN 0 ELSE daily_requests END+?,
|
|
136
|
+
daily_tweets=CASE WHEN last_reset_date IS NULL OR last_reset_date<>? THEN 0 ELSE daily_tweets END+?,
|
|
137
|
+
total_tweets=total_tweets+?, last_used=?, last_reset_date=?
|
|
138
|
+
WHERE lease_id=?`, today, pages, today, tweets, tweets, Date.now(), today, leaseId).changes === 1);
|
|
109
139
|
}
|
|
110
140
|
release(leaseId, options = {}) {
|
|
111
|
-
const status = options.status ===
|
|
112
|
-
|
|
141
|
+
const status = options.status === ACCOUNT_HEALTH.UNUSABLE
|
|
142
|
+
? ACCOUNT_STATUS_CODE.UNUSABLE
|
|
143
|
+
: options.status === ACCOUNT_HEALTH.COOLING_DOWN
|
|
144
|
+
? ACCOUNT_STATUS_CODE.COOLING_DOWN
|
|
145
|
+
: ACCOUNT_STATUS_CODE.HEALTHY;
|
|
146
|
+
const availableUntil = options.availableUntil ?? (status === ACCOUNT_STATUS_CODE.HEALTHY ? 0 : Date.now());
|
|
113
147
|
return (this.database.run("UPDATE accounts SET lease_id=NULL, lease_expires_at=NULL, status=?, available_until=?, last_error_code=?, cooldown_reason=? WHERE lease_id=?", status, availableUntil, options.lastErrorCode ?? null, options.cooldownReason ?? null, leaseId).changes === 1);
|
|
114
148
|
}
|
|
115
149
|
completeLease(completion) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
150
|
+
const status = completion.status === ACCOUNT_HEALTH.UNUSABLE
|
|
151
|
+
? ACCOUNT_STATUS_CODE.UNUSABLE
|
|
152
|
+
: completion.status === ACCOUNT_HEALTH.COOLING_DOWN
|
|
153
|
+
? ACCOUNT_STATUS_CODE.COOLING_DOWN
|
|
154
|
+
: ACCOUNT_STATUS_CODE.HEALTHY;
|
|
155
|
+
return (this.database.run(`UPDATE accounts
|
|
156
|
+
SET lease_id=NULL, lease_expires_at=NULL, status=?, available_until=?,
|
|
157
|
+
daily_requests=CASE WHEN last_reset_date IS NULL OR last_reset_date<>? THEN 0 ELSE daily_requests END+?,
|
|
158
|
+
daily_tweets=CASE WHEN last_reset_date IS NULL OR last_reset_date<>? THEN 0 ELSE daily_tweets END+?,
|
|
159
|
+
total_tweets=total_tweets+?, last_used=?, last_error_code=?, cooldown_reason=?, last_reset_date=?
|
|
160
|
+
WHERE lease_id=?`, status, completion.availableUntil, completion.utcDate, Math.max(0, completion.pages), completion.utcDate, Math.max(0, completion.tweets), Math.max(0, completion.tweets), completion.now, completion.lastErrorCode ?? null, completion.cooldownReason ?? null, completion.utcDate, completion.leaseId).changes === 1);
|
|
125
161
|
}
|
|
126
162
|
markUnusable(username, code, reason) {
|
|
127
163
|
return (this.database.run("UPDATE accounts SET status=0, last_error_code=?, cooldown_reason=?, lease_id=NULL, lease_expires_at=NULL WHERE username=?", code, reason, username).changes === 1);
|
|
@@ -181,19 +217,13 @@ export class AccountRepository {
|
|
|
181
217
|
}
|
|
182
218
|
insert(account) {
|
|
183
219
|
this.database.run(`INSERT INTO accounts (username,password,email,email_password,two_factor_secret,auth_token,csrf_token,cookies_json,bearer_token,proxy_json,status,available_until,daily_requests,daily_tweets,total_tweets,last_reset_date,last_used,last_error_code,cooldown_reason)
|
|
184
|
-
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, account.username, account.password ?? null, account.email ?? null, account.emailPassword ?? null, account.twoFactorSecret ?? null, account.authToken ?? null, account.csrfToken ?? null, JSON.stringify(account.cookies), account.bearerToken ?? null, account.proxy ? JSON.stringify(account.proxy) : null, account.status ??
|
|
220
|
+
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`, account.username, account.password ?? null, account.email ?? null, account.emailPassword ?? null, account.twoFactorSecret ?? null, account.authToken ?? null, account.csrfToken ?? null, JSON.stringify(account.cookies), account.bearerToken ?? null, account.proxy ? JSON.stringify(account.proxy) : null, account.status ?? ACCOUNT_STATUS_CODE.HEALTHY, account.availableUntil ?? 0, account.dailyRequests ?? 0, account.dailyTweets ?? 0, account.totalTweets ?? 0, account.lastResetDate ?? utcDate(), account.lastUsed ?? 0, account.lastErrorCode ?? null, account.cooldownReason ?? null);
|
|
185
221
|
return this.findByUsername(account.username);
|
|
186
222
|
}
|
|
187
|
-
resetExpiredCooldowns(now) {
|
|
188
|
-
this.database.run("UPDATE accounts SET status=1, available_until=0, cooldown_reason=NULL WHERE status=2 AND available_until<=?", now);
|
|
189
|
-
}
|
|
190
|
-
resetDailyCounters(today = utcDate()) {
|
|
191
|
-
this.database.run("UPDATE accounts SET daily_requests=0, daily_tweets=0, last_reset_date=? WHERE last_reset_date IS NULL OR last_reset_date<>?", today, today);
|
|
192
|
-
}
|
|
193
223
|
isEligible(row, now, ignoreLease, requireAuthMaterial = false, dailyRequestsLimit = this.dailyRequestsLimit, dailyTweetsLimit = this.dailyTweetsLimit) {
|
|
194
|
-
if (row.status ===
|
|
224
|
+
if (row.status === ACCOUNT_STATUS_CODE.UNUSABLE)
|
|
195
225
|
return false;
|
|
196
|
-
if (row.status ===
|
|
226
|
+
if (row.status === ACCOUNT_STATUS_CODE.COOLING_DOWN && (row.availableUntil ?? 0) > now)
|
|
197
227
|
return false;
|
|
198
228
|
if (!ignoreLease && row.leaseExpiresAt !== undefined && row.leaseExpiresAt > now)
|
|
199
229
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-repository.js","sourceRoot":"","sources":["../../src/storage/account-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"account-repository.js","sourceRoot":"","sources":["../../src/storage/account-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type SQLInputValue, type StatementSync } from "node:sqlite";
|
|
2
|
-
|
|
2
|
+
import type { SqlRow } from "./types.js";
|
|
3
|
+
export type { SqlRow } from "./types.js";
|
|
3
4
|
export declare class StateDatabase {
|
|
4
5
|
readonly path: string;
|
|
5
6
|
private readonly database;
|
|
7
|
+
private readonly statements;
|
|
6
8
|
constructor(path: string);
|
|
7
9
|
exec(sql: string): void;
|
|
8
10
|
prepare(sql: string): StatementSync;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,aAAa;IACxB,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;gBAE5C,IAAI,EAAE,MAAM;IAMxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAQnC,GAAG,CACR,GAAG,EAAE,MAAM,EACX,GAAG,MAAM,EAAE,aAAa,EAAE,GACzB;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAKnE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,GAAG,SAAS;IAIhE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;IAItD,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAYpC,KAAK,IAAI,IAAI;CAGrB"}
|
package/dist/storage/database.js
CHANGED
|
@@ -2,6 +2,7 @@ import { DatabaseSync } from "node:sqlite";
|
|
|
2
2
|
export class StateDatabase {
|
|
3
3
|
path;
|
|
4
4
|
database;
|
|
5
|
+
statements = new Map();
|
|
5
6
|
constructor(path) {
|
|
6
7
|
this.path = path;
|
|
7
8
|
this.database = new DatabaseSync(path);
|
|
@@ -11,17 +12,22 @@ export class StateDatabase {
|
|
|
11
12
|
this.database.exec(sql);
|
|
12
13
|
}
|
|
13
14
|
prepare(sql) {
|
|
14
|
-
|
|
15
|
+
const cached = this.statements.get(sql);
|
|
16
|
+
if (cached)
|
|
17
|
+
return cached;
|
|
18
|
+
const statement = this.database.prepare(sql);
|
|
19
|
+
this.statements.set(sql, statement);
|
|
20
|
+
return statement;
|
|
15
21
|
}
|
|
16
22
|
run(sql, ...params) {
|
|
17
|
-
const result = this.
|
|
23
|
+
const result = this.prepare(sql).run(...params);
|
|
18
24
|
return { changes: Number(result.changes), lastInsertRowid: result.lastInsertRowid };
|
|
19
25
|
}
|
|
20
26
|
get(sql, ...params) {
|
|
21
|
-
return this.
|
|
27
|
+
return this.prepare(sql).get(...params);
|
|
22
28
|
}
|
|
23
29
|
all(sql, ...params) {
|
|
24
|
-
return this.
|
|
30
|
+
return this.prepare(sql).all(...params);
|
|
25
31
|
}
|
|
26
32
|
transaction(callback) {
|
|
27
33
|
this.database.exec("BEGIN IMMEDIATE;");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0C,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0C,MAAM,aAAa,CAAC;AAKnF,MAAM,OAAO,aAAa;IACR,IAAI,CAAS;IACZ,QAAQ,CAAe;IACvB,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE/D,YAAmB,IAAY;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAC9E,CAAC;IAEM,IAAI,CAAC,GAAW;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEM,OAAO,CAAC,GAAW;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,GAAG,CACR,GAAW,EACX,GAAG,MAAuB;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;IACtF,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,GAAG,MAAuB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAuB,CAAC;IAChE,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,GAAG,MAAuB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAa,CAAC;IACtD,CAAC;IAEM,WAAW,CAAI,QAAiB;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -2,14 +2,16 @@ import { StateDatabase } from "./database.js";
|
|
|
2
2
|
import { AccountRepository } from "./account-repository.js";
|
|
3
3
|
import { CheckpointRepository } from "./checkpoint-repository.js";
|
|
4
4
|
import { ManifestRepository } from "./manifest-repository.js";
|
|
5
|
+
import { ProgressRepository } from "./progress-repository.js";
|
|
5
6
|
import { RunRepository } from "./run-repository.js";
|
|
6
|
-
import type { AccountRepositoryOptions } from "./
|
|
7
|
+
import type { AccountRepositoryOptions } from "./types.js";
|
|
7
8
|
export interface StorageBundle {
|
|
8
9
|
readonly database: StateDatabase;
|
|
9
10
|
readonly accounts: AccountRepository;
|
|
10
11
|
readonly checkpoints: CheckpointRepository;
|
|
11
12
|
readonly manifests: ManifestRepository;
|
|
12
13
|
readonly runs: RunRepository;
|
|
14
|
+
readonly progress: ProgressRepository;
|
|
13
15
|
}
|
|
14
16
|
export declare function openStorage(path: string, options?: AccountRepositoryOptions): StorageBundle;
|
|
15
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,aAAa,CAW/F"}
|
package/dist/storage/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { StateDatabase } from "./database.js";
|
|
|
3
3
|
import { AccountRepository } from "./account-repository.js";
|
|
4
4
|
import { CheckpointRepository } from "./checkpoint-repository.js";
|
|
5
5
|
import { ManifestRepository } from "./manifest-repository.js";
|
|
6
|
+
import { ProgressRepository } from "./progress-repository.js";
|
|
6
7
|
import { RunRepository } from "./run-repository.js";
|
|
7
8
|
export function openStorage(path, options = {}) {
|
|
8
9
|
const database = new StateDatabase(path);
|
|
@@ -13,6 +14,7 @@ export function openStorage(path, options = {}) {
|
|
|
13
14
|
checkpoints: new CheckpointRepository(database),
|
|
14
15
|
manifests: new ManifestRepository(database),
|
|
15
16
|
runs: new RunRepository(database),
|
|
17
|
+
progress: new ProgressRepository(database),
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYpD,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,UAAoC,EAAE;IAC9E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3B,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,IAAI,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC;QAClD,WAAW,EAAE,IAAI,oBAAoB,CAAC,QAAQ,CAAC;QAC/C,SAAS,EAAE,IAAI,kBAAkB,CAAC,QAAQ,CAAC;QAC3C,IAAI,EAAE,IAAI,aAAa,CAAC,QAAQ,CAAC;QACjC,QAAQ,EAAE,IAAI,kBAAkB,CAAC,QAAQ,CAAC;KAC3C,CAAC;AACJ,CAAC"}
|