canopycms 0.0.54 → 0.0.55
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/api/assets.d.ts +14 -2
- package/dist/api/assets.d.ts.map +1 -1
- package/dist/api/assets.js +14 -3
- package/dist/api/assets.js.map +1 -1
- package/dist/api/branch-status.d.ts.map +1 -1
- package/dist/api/branch-status.js +8 -2
- package/dist/api/branch-status.js.map +1 -1
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +29 -14
- package/dist/api/client.js.map +1 -1
- package/dist/api/content.d.ts +2 -2
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +160 -26
- package/dist/api/content.js.map +1 -1
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +8 -4
- package/dist/api/entries.js.map +1 -1
- package/dist/api/github-sync.d.ts.map +1 -1
- package/dist/api/github-sync.js +21 -4
- package/dist/api/github-sync.js.map +1 -1
- package/dist/api/groups.d.ts.map +1 -1
- package/dist/api/groups.js +15 -5
- package/dist/api/groups.js.map +1 -1
- package/dist/api/permissions.d.ts +6 -6
- package/dist/api/permissions.d.ts.map +1 -1
- package/dist/api/permissions.js +24 -9
- package/dist/api/permissions.js.map +1 -1
- package/dist/api/request-body-hash.d.ts +33 -0
- package/dist/api/request-body-hash.d.ts.map +1 -0
- package/dist/api/request-body-hash.js +43 -0
- package/dist/api/request-body-hash.js.map +1 -0
- package/dist/api/resolve-references.d.ts.map +1 -1
- package/dist/api/resolve-references.js +8 -1
- package/dist/api/resolve-references.js.map +1 -1
- package/dist/api/schema.js +9 -9
- package/dist/api/schema.js.map +1 -1
- package/dist/api/settings-helpers.d.ts +14 -1
- package/dist/api/settings-helpers.d.ts.map +1 -1
- package/dist/api/settings-helpers.js +11 -2
- package/dist/api/settings-helpers.js.map +1 -1
- package/dist/api/types.d.ts +10 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/plugin.d.ts +26 -0
- package/dist/auth/plugin.d.ts.map +1 -1
- package/dist/auth/plugin.js +25 -1
- package/dist/auth/plugin.js.map +1 -1
- package/dist/authorization/helpers.d.ts +16 -0
- package/dist/authorization/helpers.d.ts.map +1 -1
- package/dist/authorization/helpers.js +18 -0
- package/dist/authorization/helpers.js.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +1 -1
- package/dist/authorization/index.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +2 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/generate-ai-content.js +744 -349
- package/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +28 -9
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +88 -60
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/template-files/canopy.ts.template +2 -1
- package/dist/cli/template-files/edit-page.tsx.template +8 -1
- package/dist/cli/template-files/middleware.ts.template +18 -0
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +16 -4
- package/dist/cli/templates.js.map +1 -1
- package/dist/config/helpers.d.ts +9 -1
- package/dist/config/helpers.d.ts.map +1 -1
- package/dist/config/helpers.js +30 -75
- package/dist/config/helpers.js.map +1 -1
- package/dist/config/schemas/config.d.ts +5 -20
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +6 -2
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/schemas/media.d.ts +1 -10
- package/dist/config/schemas/media.d.ts.map +1 -1
- package/dist/config/schemas/media.js +8 -6
- package/dist/config/schemas/media.js.map +1 -1
- package/dist/config/types.d.ts +0 -3
- package/dist/config/types.d.ts.map +1 -1
- package/dist/content-id-index.d.ts +12 -6
- package/dist/content-id-index.d.ts.map +1 -1
- package/dist/content-id-index.js +12 -6
- package/dist/content-id-index.js.map +1 -1
- package/dist/content-index-generation.d.ts +30 -0
- package/dist/content-index-generation.d.ts.map +1 -0
- package/dist/content-index-generation.js +131 -0
- package/dist/content-index-generation.js.map +1 -0
- package/dist/content-index-registry.d.ts +38 -0
- package/dist/content-index-registry.d.ts.map +1 -0
- package/dist/content-index-registry.js +53 -0
- package/dist/content-index-registry.js.map +1 -0
- package/dist/content-store.d.ts +130 -6
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +333 -31
- package/dist/content-store.js.map +1 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +8 -4
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/FormRenderer.d.ts +7 -0
- package/dist/editor/FormRenderer.d.ts.map +1 -1
- package/dist/editor/FormRenderer.js +12 -3
- package/dist/editor/FormRenderer.js.map +1 -1
- package/dist/editor/components/EditorHeader.d.ts.map +1 -1
- package/dist/editor/components/EditorHeader.js +3 -4
- package/dist/editor/components/EditorHeader.js.map +1 -1
- package/dist/editor/components/EditorSidebar.d.ts.map +1 -1
- package/dist/editor/components/EditorSidebar.js +2 -4
- package/dist/editor/components/EditorSidebar.js.map +1 -1
- package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
- package/dist/editor/fields/ReferenceField.js +19 -2
- package/dist/editor/fields/ReferenceField.js.map +1 -1
- package/dist/editor/group-manager/hooks/useGroupState.d.ts.map +1 -1
- package/dist/editor/group-manager/hooks/useGroupState.js +5 -2
- package/dist/editor/group-manager/hooks/useGroupState.js.map +1 -1
- package/dist/editor/hooks/useDraftManager.d.ts +8 -0
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +102 -1
- package/dist/editor/hooks/useDraftManager.js.map +1 -1
- package/dist/editor/hooks/useEntryManager.d.ts +9 -2
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +9 -3
- package/dist/editor/hooks/useEntryManager.js.map +1 -1
- package/dist/editor/hooks/useSchemaManager.d.ts.map +1 -1
- package/dist/editor/hooks/useSchemaManager.js +2 -1
- package/dist/editor/hooks/useSchemaManager.js.map +1 -1
- package/dist/editor/schema-editor/CollectionEditor.d.ts +4 -4
- package/dist/editor/schema-editor/CollectionEditor.d.ts.map +1 -1
- package/dist/editor/schema-editor/CollectionEditor.js +32 -12
- package/dist/editor/schema-editor/CollectionEditor.js.map +1 -1
- package/dist/entry-link-resolver.d.ts.map +1 -1
- package/dist/entry-link-resolver.js +5 -0
- package/dist/entry-link-resolver.js.map +1 -1
- package/dist/git-manager.d.ts +38 -3
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +141 -33
- package/dist/git-manager.js.map +1 -1
- package/dist/github-service.d.ts +13 -3
- package/dist/github-service.d.ts.map +1 -1
- package/dist/github-service.js +23 -7
- package/dist/github-service.js.map +1 -1
- package/dist/http/handler.d.ts +1 -1
- package/dist/http/handler.d.ts.map +1 -1
- package/dist/http/handler.js +36 -7
- package/dist/http/handler.js.map +1 -1
- package/dist/http/router.d.ts +11 -0
- package/dist/http/router.d.ts.map +1 -1
- package/dist/http/router.js +80 -16
- package/dist/http/router.js.map +1 -1
- package/dist/paths/validation.d.ts.map +1 -1
- package/dist/paths/validation.js +12 -0
- package/dist/paths/validation.js.map +1 -1
- package/dist/schema/schema-store.d.ts +9 -0
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +57 -8
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/services.d.ts +1 -0
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +5 -2
- package/dist/services.js.map +1 -1
- package/dist/sync-core.d.ts.map +1 -1
- package/dist/sync-core.js +22 -9
- package/dist/sync-core.js.map +1 -1
- package/dist/user.d.ts +0 -18
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +7 -22
- package/dist/user.js.map +1 -1
- package/dist/utils/error.d.ts +8 -0
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +35 -7
- package/dist/utils/error.js.map +1 -1
- package/dist/validation/deletion-checker.d.ts.map +1 -1
- package/dist/validation/deletion-checker.js +6 -5
- package/dist/validation/deletion-checker.js.map +1 -1
- package/dist/validation/entry-validator.d.ts +67 -0
- package/dist/validation/entry-validator.d.ts.map +1 -0
- package/dist/validation/entry-validator.js +277 -0
- package/dist/validation/entry-validator.js.map +1 -0
- package/dist/validation/field-traversal.d.ts +23 -1
- package/dist/validation/field-traversal.d.ts.map +1 -1
- package/dist/validation/field-traversal.js +29 -9
- package/dist/validation/field-traversal.js.map +1 -1
- package/dist/worker/cms-worker.d.ts +67 -6
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +190 -67
- package/dist/worker/cms-worker.js.map +1 -1
- package/package.json +1 -2
- package/dist/editor/components/EditorContext.d.ts +0 -35
- package/dist/editor/components/EditorContext.d.ts.map +0 -1
- package/dist/editor/components/EditorContext.js +0 -19
- package/dist/editor/components/EditorContext.js.map +0 -1
- package/dist/editor/env.d.ts +0 -5
- package/dist/editor/env.d.ts.map +0 -1
- package/dist/editor/env.js +0 -5
- package/dist/editor/env.js.map +0 -1
|
@@ -35,7 +35,42 @@ export interface CmsWorkerConfig {
|
|
|
35
35
|
maxRetries?: number;
|
|
36
36
|
/** Content root directory name relative to repo root (default: 'content') */
|
|
37
37
|
contentRoot?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Worker lock staleness TTL in ms (default: 60000, minimum 2000).
|
|
40
|
+
* The holder refreshes the lock heartbeat at half this interval; a lock
|
|
41
|
+
* whose heartbeat is older than this is considered abandoned and taken
|
|
42
|
+
* over by the next worker to start.
|
|
43
|
+
*/
|
|
44
|
+
lockStaleMs?: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* An error inherent to the task itself (malformed payload, unknown action):
|
|
48
|
+
* retrying can never succeed, so the task should fail fast instead of
|
|
49
|
+
* burning its retry budget.
|
|
50
|
+
*/
|
|
51
|
+
export declare class PermanentTaskError extends Error {
|
|
38
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Classify a task failure as permanent (fail fast) or transient (retry).
|
|
55
|
+
*
|
|
56
|
+
* Transient — worth retrying with backoff:
|
|
57
|
+
* - network errors / anything without an HTTP status (git failures included:
|
|
58
|
+
* most push/fetch failures are connectivity or contention and the retry
|
|
59
|
+
* budget bounds the pathological cases)
|
|
60
|
+
* - HTTP 408 (request timeout) and 429 (rate limited)
|
|
61
|
+
* - HTTP 403 that carries a rate-limit signal (see `isRateLimitSignal403`):
|
|
62
|
+
* GitHub returns 403, not 429, for both primary and secondary/abuse rate
|
|
63
|
+
* limits, and our Octokit instance has no throttling/retry plugin — without
|
|
64
|
+
* this carve-out a rate-limited push-and-create-or-update-pr task would
|
|
65
|
+
* fail permanently and wedge the branch (`sync-failed`, no retry).
|
|
66
|
+
* - HTTP 5xx (server-side, usually recovers)
|
|
67
|
+
*
|
|
68
|
+
* Permanent — retrying the identical request cannot succeed:
|
|
69
|
+
* - PermanentTaskError (malformed payload, unknown action)
|
|
70
|
+
* - other HTTP 4xx (e.g. 401/404/422): the request itself is bad
|
|
71
|
+
* - plain HTTP 403 with no rate-limit signal: a real permission denial
|
|
72
|
+
*/
|
|
73
|
+
export declare function isPermanentTaskFailure(err: unknown): boolean;
|
|
39
74
|
/**
|
|
40
75
|
* CMS Worker daemon.
|
|
41
76
|
* Handles operations that Lambda (with no internet) cannot perform:
|
|
@@ -61,19 +96,40 @@ export declare class CmsWorker {
|
|
|
61
96
|
private taskTimeoutMs;
|
|
62
97
|
private maxRetries;
|
|
63
98
|
private lockFilePath;
|
|
99
|
+
private lockStaleMs;
|
|
100
|
+
private releaseLockFn;
|
|
64
101
|
private contentRoot;
|
|
65
102
|
private log;
|
|
66
103
|
constructor(config: CmsWorkerConfig);
|
|
67
104
|
start(): Promise<void>;
|
|
68
105
|
stop(): Promise<void>;
|
|
69
106
|
/**
|
|
70
|
-
* Acquire
|
|
71
|
-
*
|
|
72
|
-
*
|
|
107
|
+
* Acquire the cross-host worker lock (DEP-C2).
|
|
108
|
+
*
|
|
109
|
+
* The task queue is single-consumer (see task-queue/task-queue.ts): two
|
|
110
|
+
* concurrent workers would double-process tasks (duplicate pushes, duplicate
|
|
111
|
+
* PRs). The workspace lives on a shared filesystem (EFS), so mutual
|
|
112
|
+
* exclusion must be sound ACROSS HOSTS — a PID liveness probe
|
|
113
|
+
* (`process.kill(pid, 0)`) only means something on the holder's own machine
|
|
114
|
+
* and must never participate in staleness decisions.
|
|
115
|
+
*
|
|
116
|
+
* proper-lockfile provides a heartbeat lease with no PID involved: the lock
|
|
117
|
+
* is a directory created atomically (mkdir — atomic on NFS/EFS), the holder
|
|
118
|
+
* refreshes its mtime every lockStaleMs/2, and the lock is considered
|
|
119
|
+
* abandoned — and taken over — only when that heartbeat is older than
|
|
120
|
+
* lockStaleMs. Liveness is judged purely by heartbeat freshness.
|
|
121
|
+
*
|
|
122
|
+
* No acquire retries: a second worker exits immediately, matching daemon
|
|
123
|
+
* semantics (the supervisor restarts it later). After a crash, the dead
|
|
124
|
+
* holder's heartbeat expires within lockStaleMs and the next start succeeds.
|
|
125
|
+
*
|
|
126
|
+
* Staleness is judged by comparing the lock's mtime against the local
|
|
127
|
+
* clock, so correct cross-host takeover assumes reasonable clock agreement
|
|
128
|
+
* between hosts (e.g. NTP); with the default TTL, ordinary clock skew is
|
|
129
|
+
* negligible, but a host with a badly wrong clock could misjudge liveness.
|
|
73
130
|
*/
|
|
74
131
|
private acquireLock;
|
|
75
132
|
private releaseLock;
|
|
76
|
-
private isPidAlive;
|
|
77
133
|
/**
|
|
78
134
|
* Schedule a function to run repeatedly with setTimeout chaining.
|
|
79
135
|
* The next invocation starts `interval` ms after the previous one completes,
|
|
@@ -93,8 +149,13 @@ export declare class CmsWorker {
|
|
|
93
149
|
*/
|
|
94
150
|
processTaskQueue(): Promise<void>;
|
|
95
151
|
/**
|
|
96
|
-
* Execute a task
|
|
97
|
-
*
|
|
152
|
+
* Execute a task bounded by taskTimeoutMs (DEP-H1). Two layers:
|
|
153
|
+
* - An AbortSignal cancels Octokit HTTP calls promptly.
|
|
154
|
+
* - A Promise.race rejects when the timeout fires, so work that cannot
|
|
155
|
+
* observe the signal (git subprocesses via simple-git) still fails the
|
|
156
|
+
* attempt and the worker moves on instead of stalling forever.
|
|
157
|
+
* pushBranchToGitHub additionally kills stalled git processes via
|
|
158
|
+
* simple-git's block timeout, so a hung push doesn't leak a process.
|
|
98
159
|
*/
|
|
99
160
|
private executeTaskWithTimeout;
|
|
100
161
|
private executeTask;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-worker.d.ts","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cms-worker.d.ts","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAMD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAO5D;AA2DD;;;;;;;;;;GAUG;AACH,qBAAa,SAAS;IAkBR,OAAO,CAAC,MAAM;IAjB1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,GAAG,CAAqB;gBAEZ,MAAM,EAAE,eAAe;IAcrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,WAAW;YAyBX,WAAW;IAWzB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;OAGG;YACW,eAAe;IAe7B;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCvC;;;;;;;;OAQG;YACW,sBAAsB;YAqBtB,WAAW;IA0IzB;;;OAGG;YACW,oBAAoB;IA4BlC;;;OAGG;YACW,6BAA6B;IAsB3C,OAAO,CAAC,cAAc;YAIR,kBAAkB;IAahC;;;OAGG;YACW,oBAAoB;IAqB5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BhB,oBAAoB;IA8L5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC"}
|
|
@@ -1,25 +1,107 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { simpleGit } from 'simple-git';
|
|
4
|
+
import lockfile from 'proper-lockfile';
|
|
4
5
|
import { Octokit } from '@octokit/rest';
|
|
5
6
|
import { dequeueTask, completeTask, failTask, retryTask, recoverOrphanedTasks, cleanupOldTasks, cmsTaskQueueLogger, } from './task-queue.js';
|
|
6
7
|
import { getBranchMetadataFileManager, BranchMetadataFileManager } from '../branch-metadata.js';
|
|
7
8
|
import { extractIdFromFilename } from '../content-id-index.js';
|
|
9
|
+
import { invalidateContentIndexesDurable } from '../content-index-generation.js';
|
|
8
10
|
import { ROOT_COLLECTION_ID } from '../paths/types.js';
|
|
9
|
-
import {
|
|
11
|
+
import { getErrorMessage, isNodeError } from '../utils/error.js';
|
|
10
12
|
const DEFAULT_TASK_TIMEOUT = 60_000;
|
|
11
13
|
const DEFAULT_MAX_RETRIES = 3;
|
|
14
|
+
const DEFAULT_LOCK_STALE_MS = 60_000;
|
|
15
|
+
/**
|
|
16
|
+
* An error inherent to the task itself (malformed payload, unknown action):
|
|
17
|
+
* retrying can never succeed, so the task should fail fast instead of
|
|
18
|
+
* burning its retry budget.
|
|
19
|
+
*/
|
|
20
|
+
export class PermanentTaskError extends Error {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Classify a task failure as permanent (fail fast) or transient (retry).
|
|
24
|
+
*
|
|
25
|
+
* Transient — worth retrying with backoff:
|
|
26
|
+
* - network errors / anything without an HTTP status (git failures included:
|
|
27
|
+
* most push/fetch failures are connectivity or contention and the retry
|
|
28
|
+
* budget bounds the pathological cases)
|
|
29
|
+
* - HTTP 408 (request timeout) and 429 (rate limited)
|
|
30
|
+
* - HTTP 403 that carries a rate-limit signal (see `isRateLimitSignal403`):
|
|
31
|
+
* GitHub returns 403, not 429, for both primary and secondary/abuse rate
|
|
32
|
+
* limits, and our Octokit instance has no throttling/retry plugin — without
|
|
33
|
+
* this carve-out a rate-limited push-and-create-or-update-pr task would
|
|
34
|
+
* fail permanently and wedge the branch (`sync-failed`, no retry).
|
|
35
|
+
* - HTTP 5xx (server-side, usually recovers)
|
|
36
|
+
*
|
|
37
|
+
* Permanent — retrying the identical request cannot succeed:
|
|
38
|
+
* - PermanentTaskError (malformed payload, unknown action)
|
|
39
|
+
* - other HTTP 4xx (e.g. 401/404/422): the request itself is bad
|
|
40
|
+
* - plain HTTP 403 with no rate-limit signal: a real permission denial
|
|
41
|
+
*/
|
|
42
|
+
export function isPermanentTaskFailure(err) {
|
|
43
|
+
if (err instanceof PermanentTaskError)
|
|
44
|
+
return true;
|
|
45
|
+
const status = getHttpStatus(err);
|
|
46
|
+
if (status === null)
|
|
47
|
+
return false;
|
|
48
|
+
if (status === 408 || status === 429)
|
|
49
|
+
return false;
|
|
50
|
+
if (status === 403 && isRateLimitSignal403(err))
|
|
51
|
+
return false;
|
|
52
|
+
return status >= 400 && status < 500;
|
|
53
|
+
}
|
|
54
|
+
/** Extract an HTTP status from an error, if present (Octokit RequestError shape). */
|
|
55
|
+
function getHttpStatus(err) {
|
|
56
|
+
if (err instanceof Error && 'status' in err) {
|
|
57
|
+
const status = err.status;
|
|
58
|
+
if (typeof status === 'number')
|
|
59
|
+
return status;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
/** Narrow an unknown value to a response-headers record, if present (Octokit lowercases header names). */
|
|
64
|
+
function getResponseHeaders(err) {
|
|
65
|
+
if (typeof err !== 'object' || err === null || !('response' in err))
|
|
66
|
+
return null;
|
|
67
|
+
const response = err.response;
|
|
68
|
+
if (typeof response !== 'object' || response === null || !('headers' in response))
|
|
69
|
+
return null;
|
|
70
|
+
const headers = response.headers;
|
|
71
|
+
if (typeof headers !== 'object' || headers === null)
|
|
72
|
+
return null;
|
|
73
|
+
return headers;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Detect whether a 403 is a GitHub rate-limit response rather than a plain
|
|
77
|
+
* permission denial. GitHub signals rate limiting on 403s three ways: the
|
|
78
|
+
* primary limit zeroes out `x-ratelimit-remaining`, secondary/abuse limits
|
|
79
|
+
* often include a `retry-after` header, and both cases produce a message
|
|
80
|
+
* containing "rate limit" (e.g. "You have exceeded a secondary rate limit").
|
|
81
|
+
*/
|
|
82
|
+
function isRateLimitSignal403(err) {
|
|
83
|
+
const headers = getResponseHeaders(err);
|
|
84
|
+
if (headers) {
|
|
85
|
+
if (headers['x-ratelimit-remaining'] === '0')
|
|
86
|
+
return true;
|
|
87
|
+
if (typeof headers['retry-after'] === 'string' && headers['retry-after'].length > 0)
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
if (err instanceof Error && /rate limit/i.test(err.message))
|
|
91
|
+
return true;
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
12
94
|
// Payload validation helpers — fail fast with clear errors instead of silent `as` casts
|
|
13
95
|
function requireString(payload, key) {
|
|
14
96
|
const val = payload[key];
|
|
15
97
|
if (typeof val !== 'string')
|
|
16
|
-
throw new
|
|
98
|
+
throw new PermanentTaskError(`Task payload missing required string field: ${key}`);
|
|
17
99
|
return val;
|
|
18
100
|
}
|
|
19
101
|
function requireNumber(payload, key) {
|
|
20
102
|
const val = payload[key];
|
|
21
103
|
if (typeof val !== 'number')
|
|
22
|
-
throw new
|
|
104
|
+
throw new PermanentTaskError(`Task payload missing required number field: ${key}`);
|
|
23
105
|
return val;
|
|
24
106
|
}
|
|
25
107
|
function optionalString(payload, key, fallback) {
|
|
@@ -43,6 +125,7 @@ export class CmsWorker {
|
|
|
43
125
|
this.activeTimeouts = new Set();
|
|
44
126
|
this.running = false;
|
|
45
127
|
this.activeOperations = new Set();
|
|
128
|
+
this.releaseLockFn = null;
|
|
46
129
|
this.log = cmsTaskQueueLogger;
|
|
47
130
|
this.octokit = new Octokit({ auth: config.githubToken });
|
|
48
131
|
this.taskDir = path.join(config.workspacePath, '.tasks');
|
|
@@ -53,6 +136,7 @@ export class CmsWorker {
|
|
|
53
136
|
this.taskTimeoutMs = config.taskTimeoutMs ?? DEFAULT_TASK_TIMEOUT;
|
|
54
137
|
this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
55
138
|
this.lockFilePath = path.join(config.workspacePath, '.tasks', '.worker-lock');
|
|
139
|
+
this.lockStaleMs = config.lockStaleMs ?? DEFAULT_LOCK_STALE_MS;
|
|
56
140
|
this.contentRoot = config.contentRoot ?? 'content';
|
|
57
141
|
}
|
|
58
142
|
async start() {
|
|
@@ -107,72 +191,63 @@ export class CmsWorker {
|
|
|
107
191
|
console.log('CMS Worker stopped');
|
|
108
192
|
}
|
|
109
193
|
/**
|
|
110
|
-
* Acquire
|
|
111
|
-
*
|
|
112
|
-
*
|
|
194
|
+
* Acquire the cross-host worker lock (DEP-C2).
|
|
195
|
+
*
|
|
196
|
+
* The task queue is single-consumer (see task-queue/task-queue.ts): two
|
|
197
|
+
* concurrent workers would double-process tasks (duplicate pushes, duplicate
|
|
198
|
+
* PRs). The workspace lives on a shared filesystem (EFS), so mutual
|
|
199
|
+
* exclusion must be sound ACROSS HOSTS — a PID liveness probe
|
|
200
|
+
* (`process.kill(pid, 0)`) only means something on the holder's own machine
|
|
201
|
+
* and must never participate in staleness decisions.
|
|
202
|
+
*
|
|
203
|
+
* proper-lockfile provides a heartbeat lease with no PID involved: the lock
|
|
204
|
+
* is a directory created atomically (mkdir — atomic on NFS/EFS), the holder
|
|
205
|
+
* refreshes its mtime every lockStaleMs/2, and the lock is considered
|
|
206
|
+
* abandoned — and taken over — only when that heartbeat is older than
|
|
207
|
+
* lockStaleMs. Liveness is judged purely by heartbeat freshness.
|
|
208
|
+
*
|
|
209
|
+
* No acquire retries: a second worker exits immediately, matching daemon
|
|
210
|
+
* semantics (the supervisor restarts it later). After a crash, the dead
|
|
211
|
+
* holder's heartbeat expires within lockStaleMs and the next start succeeds.
|
|
212
|
+
*
|
|
213
|
+
* Staleness is judged by comparing the lock's mtime against the local
|
|
214
|
+
* clock, so correct cross-host takeover assumes reasonable clock agreement
|
|
215
|
+
* between hosts (e.g. NTP); with the default TTL, ordinary clock skew is
|
|
216
|
+
* negligible, but a host with a badly wrong clock could misjudge liveness.
|
|
113
217
|
*/
|
|
114
218
|
async acquireLock() {
|
|
115
|
-
await fs.mkdir(
|
|
116
|
-
const lockContent = JSON.stringify({
|
|
117
|
-
pid: process.pid,
|
|
118
|
-
timestamp: new Date().toISOString(),
|
|
119
|
-
});
|
|
120
|
-
// Try atomic create first
|
|
121
|
-
try {
|
|
122
|
-
const handle = await fs.open(this.lockFilePath, 'wx');
|
|
123
|
-
await handle.writeFile(lockContent, 'utf-8');
|
|
124
|
-
await handle.close();
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
catch (err) {
|
|
128
|
-
if (!isFileExistsError(err))
|
|
129
|
-
throw err;
|
|
130
|
-
}
|
|
131
|
-
// Lock file exists — check staleness
|
|
132
|
-
try {
|
|
133
|
-
const content = await fs.readFile(this.lockFilePath, 'utf-8');
|
|
134
|
-
const { pid, timestamp } = JSON.parse(content);
|
|
135
|
-
const lockAgeMs = Date.now() - new Date(timestamp).getTime();
|
|
136
|
-
const pidAlive = this.isPidAlive(pid);
|
|
137
|
-
if (pidAlive && lockAgeMs < 10 * 60_000) {
|
|
138
|
-
throw new Error(`Another worker is running (PID ${pid}, locked at ${timestamp}). Exiting.`);
|
|
139
|
-
}
|
|
140
|
-
console.log(`Overwriting stale lock (PID ${pid}, age ${Math.round(lockAgeMs / 1000)}s)`);
|
|
141
|
-
}
|
|
142
|
-
catch (err) {
|
|
143
|
-
if (err instanceof Error && err.message.startsWith('Another worker'))
|
|
144
|
-
throw err;
|
|
145
|
-
// Lock file is corrupt or unreadable — overwrite it
|
|
146
|
-
}
|
|
147
|
-
// Stale or corrupt lock — unlink and retry with atomic create
|
|
148
|
-
await fs.unlink(this.lockFilePath).catch(() => { });
|
|
219
|
+
await fs.mkdir(this.taskDir, { recursive: true });
|
|
149
220
|
try {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
221
|
+
this.releaseLockFn = await lockfile.lock(this.taskDir, {
|
|
222
|
+
lockfilePath: this.lockFilePath,
|
|
223
|
+
stale: this.lockStaleMs,
|
|
224
|
+
onCompromised: (err) => {
|
|
225
|
+
// Our heartbeat could not be maintained (lock deleted or taken
|
|
226
|
+
// over). Another worker may now be consuming the queue — stop
|
|
227
|
+
// processing to preserve the single-consumer invariant.
|
|
228
|
+
console.error('Worker lock compromised, shutting down:', getErrorMessage(err));
|
|
229
|
+
this.releaseLockFn = null; // the lock is already lost; nothing to release
|
|
230
|
+
void this.stop();
|
|
231
|
+
},
|
|
232
|
+
});
|
|
153
233
|
}
|
|
154
234
|
catch (err) {
|
|
155
|
-
if (
|
|
156
|
-
throw new Error(
|
|
235
|
+
if (isNodeError(err) && err.code === 'ELOCKED') {
|
|
236
|
+
throw new Error(`Another worker is running (lock ${this.lockFilePath} has a heartbeat fresher than ${this.lockStaleMs}ms). Exiting.`);
|
|
157
237
|
}
|
|
158
238
|
throw err;
|
|
159
239
|
}
|
|
160
240
|
}
|
|
161
241
|
async releaseLock() {
|
|
242
|
+
const release = this.releaseLockFn;
|
|
243
|
+
this.releaseLockFn = null;
|
|
244
|
+
if (!release)
|
|
245
|
+
return;
|
|
162
246
|
try {
|
|
163
|
-
await
|
|
164
|
-
}
|
|
165
|
-
catch {
|
|
166
|
-
// Lock file already gone
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
isPidAlive(pid) {
|
|
170
|
-
try {
|
|
171
|
-
process.kill(pid, 0);
|
|
172
|
-
return true;
|
|
247
|
+
await release();
|
|
173
248
|
}
|
|
174
249
|
catch {
|
|
175
|
-
|
|
250
|
+
// Lock already released or compromised
|
|
176
251
|
}
|
|
177
252
|
}
|
|
178
253
|
/**
|
|
@@ -236,32 +311,50 @@ export class CmsWorker {
|
|
|
236
311
|
await this.updateBranchMetadata(task, result);
|
|
237
312
|
}
|
|
238
313
|
catch (err) {
|
|
239
|
-
const message = err
|
|
314
|
+
const message = getErrorMessage(err);
|
|
240
315
|
console.error(`Task ${task.id} (${task.action}) failed:`, message);
|
|
316
|
+
// DEP-L1: only transient failures (network, 429/5xx, timeouts) are
|
|
317
|
+
// worth retrying; permanent ones (malformed payload, other 4xx) would
|
|
318
|
+
// just burn the retry budget on an identical doomed request.
|
|
319
|
+
const permanent = isPermanentTaskFailure(err);
|
|
241
320
|
const retryCount = task.retryCount ?? 0;
|
|
242
321
|
const maxRetries = task.maxRetries ?? this.maxRetries;
|
|
243
|
-
if (retryCount < maxRetries) {
|
|
322
|
+
if (!permanent && retryCount < maxRetries) {
|
|
244
323
|
await retryTask(this.taskDir, task.id, message, this.log);
|
|
245
324
|
console.log(` Will retry (attempt ${retryCount + 1}/${maxRetries})`);
|
|
246
325
|
}
|
|
247
326
|
else {
|
|
248
327
|
await failTask(this.taskDir, task.id, message, this.log);
|
|
249
328
|
await this.updateBranchMetadataOnFailure(task, message);
|
|
250
|
-
console.error(
|
|
329
|
+
console.error(permanent
|
|
330
|
+
? ' Permanently failed (non-retryable error)'
|
|
331
|
+
: ` Permanently failed after ${maxRetries} retries`);
|
|
251
332
|
}
|
|
252
333
|
}
|
|
253
334
|
processed++;
|
|
254
335
|
}
|
|
255
336
|
}
|
|
256
337
|
/**
|
|
257
|
-
* Execute a task
|
|
258
|
-
*
|
|
338
|
+
* Execute a task bounded by taskTimeoutMs (DEP-H1). Two layers:
|
|
339
|
+
* - An AbortSignal cancels Octokit HTTP calls promptly.
|
|
340
|
+
* - A Promise.race rejects when the timeout fires, so work that cannot
|
|
341
|
+
* observe the signal (git subprocesses via simple-git) still fails the
|
|
342
|
+
* attempt and the worker moves on instead of stalling forever.
|
|
343
|
+
* pushBranchToGitHub additionally kills stalled git processes via
|
|
344
|
+
* simple-git's block timeout, so a hung push doesn't leak a process.
|
|
259
345
|
*/
|
|
260
346
|
async executeTaskWithTimeout(task) {
|
|
261
347
|
const controller = new AbortController();
|
|
262
348
|
const timer = setTimeout(() => controller.abort(), this.taskTimeoutMs);
|
|
263
349
|
try {
|
|
264
|
-
|
|
350
|
+
const work = this.executeTask(task, controller.signal);
|
|
351
|
+
// If the timeout wins the race, the losing promise must not surface an
|
|
352
|
+
// unhandled rejection when it eventually settles.
|
|
353
|
+
work.catch(() => { });
|
|
354
|
+
const timedOut = new Promise((_, reject) => {
|
|
355
|
+
controller.signal.addEventListener('abort', () => reject(new Error(`Task timed out after ${this.taskTimeoutMs}ms`)), { once: true });
|
|
356
|
+
});
|
|
357
|
+
return await Promise.race([work, timedOut]);
|
|
265
358
|
}
|
|
266
359
|
finally {
|
|
267
360
|
clearTimeout(timer);
|
|
@@ -306,6 +399,11 @@ export class CmsWorker {
|
|
|
306
399
|
return { prNumber };
|
|
307
400
|
}
|
|
308
401
|
case 'push-and-create-or-update-pr': {
|
|
402
|
+
// GIT-H1: idempotent create-or-update. Used for both content-branch
|
|
403
|
+
// submits and settings-branch syncs so a retry after a crash (task
|
|
404
|
+
// completed on GitHub but branch metadata never recorded the PR
|
|
405
|
+
// number) recovers the existing PR instead of hitting the 422 that
|
|
406
|
+
// a blind `pulls.create` would throw on a duplicate head+base.
|
|
309
407
|
const branch = requireString(payload, 'branch');
|
|
310
408
|
await this.pushBranchToGitHub(branch);
|
|
311
409
|
// Check if an open PR already exists for this branch
|
|
@@ -318,11 +416,19 @@ export class CmsWorker {
|
|
|
318
416
|
request: { signal },
|
|
319
417
|
});
|
|
320
418
|
if (existingPRs.data.length > 0) {
|
|
321
|
-
|
|
419
|
+
// GIT-M5: GitHub disallows more than one open PR for a given
|
|
420
|
+
// head+base pair, so this should always be a single match. Guard
|
|
421
|
+
// against blindly trusting array order anyway.
|
|
422
|
+
let existing = existingPRs.data[0];
|
|
423
|
+
if (existingPRs.data.length > 1) {
|
|
424
|
+
existing = [...existingPRs.data].sort((a, b) => new Date(b.updated_at).getTime() - new Date(a.updated_at).getTime())[0];
|
|
425
|
+
console.warn(`Found ${existingPRs.data.length} open PRs for ${branch}; updating the most recently updated (#${existing.number})`);
|
|
426
|
+
}
|
|
322
427
|
await this.octokit.pulls.update({
|
|
323
428
|
owner: this.config.githubOwner,
|
|
324
429
|
repo: this.config.githubRepo,
|
|
325
430
|
pull_number: existing.number,
|
|
431
|
+
title: optionalString(payload, 'title', `Submit ${branch}`),
|
|
326
432
|
body: optionalString(payload, 'body', ''),
|
|
327
433
|
request: { signal },
|
|
328
434
|
});
|
|
@@ -334,7 +440,7 @@ export class CmsWorker {
|
|
|
334
440
|
repo: this.config.githubRepo,
|
|
335
441
|
head: branch,
|
|
336
442
|
base: optionalString(payload, 'baseBranch', this.baseBranch),
|
|
337
|
-
title: optionalString(payload, 'title', `
|
|
443
|
+
title: optionalString(payload, 'title', `Submit ${branch}`),
|
|
338
444
|
body: optionalString(payload, 'body', ''),
|
|
339
445
|
request: { signal },
|
|
340
446
|
});
|
|
@@ -377,7 +483,7 @@ export class CmsWorker {
|
|
|
377
483
|
return { deleted: true };
|
|
378
484
|
}
|
|
379
485
|
default:
|
|
380
|
-
throw new
|
|
486
|
+
throw new PermanentTaskError(`Unknown task action: ${action}`);
|
|
381
487
|
}
|
|
382
488
|
}
|
|
383
489
|
/**
|
|
@@ -438,7 +544,13 @@ export class CmsWorker {
|
|
|
438
544
|
return `https://x-access-token:${this.config.githubToken}@github.com/${this.config.githubOwner}/${this.config.githubRepo}.git`;
|
|
439
545
|
}
|
|
440
546
|
async pushBranchToGitHub(branch) {
|
|
441
|
-
const git = simpleGit({
|
|
547
|
+
const git = simpleGit({
|
|
548
|
+
baseDir: this.remoteGitPath,
|
|
549
|
+
// DEP-H1: kill the git process if it produces no output for
|
|
550
|
+
// taskTimeoutMs (network stall, credential prompt) instead of letting
|
|
551
|
+
// it hang past the task timeout.
|
|
552
|
+
timeout: { block: this.taskTimeoutMs },
|
|
553
|
+
});
|
|
442
554
|
// Pass URL directly to avoid persisting the token in remote.git/config
|
|
443
555
|
await git.push(this.buildGitHubUrl(), branch);
|
|
444
556
|
console.log(`Pushed ${branch} to GitHub`);
|
|
@@ -470,7 +582,13 @@ export class CmsWorker {
|
|
|
470
582
|
if (!this.running)
|
|
471
583
|
return;
|
|
472
584
|
console.log('Syncing git...');
|
|
473
|
-
const git = simpleGit({
|
|
585
|
+
const git = simpleGit({
|
|
586
|
+
baseDir: this.remoteGitPath,
|
|
587
|
+
// DEP-H1: a hung fetch/push would stall the sync loop forever
|
|
588
|
+
// (scheduleLoop only reschedules after completion). The block timeout
|
|
589
|
+
// is inactivity-based, so a slow-but-flowing transfer is unaffected.
|
|
590
|
+
timeout: { block: this.taskTimeoutMs },
|
|
591
|
+
});
|
|
474
592
|
// Fetch all branches from GitHub using direct URL (no named remote)
|
|
475
593
|
// We use raw git commands since simple-git's fetch() with a URL
|
|
476
594
|
// doesn't support --prune directly
|
|
@@ -608,6 +726,11 @@ export class CmsWorker {
|
|
|
608
726
|
await branchGit.rebase(['--abort']).catch(() => { });
|
|
609
727
|
continue;
|
|
610
728
|
}
|
|
729
|
+
// The rebase rewrote the branch clone's working tree — mark ContentStore
|
|
730
|
+
// ID indexes rooted here stale so lookups rebuild from disk, in this
|
|
731
|
+
// process and (via the on-disk generation marker) in the Lambda
|
|
732
|
+
// containers sharing this filesystem.
|
|
733
|
+
await invalidateContentIndexesDurable(branchPath);
|
|
611
734
|
// Convert file paths to ContentIds — immutable, survives slug renames.
|
|
612
735
|
// Entry files have IDs in their filename (e.g., "post.slug.a1b2c3d4e5f6.mdx").
|
|
613
736
|
// .collection.json files have no ID themselves (extractIdFromFilename returns null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-worker.js","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cms-worker.js","sourceRoot":"","sources":["../../src/worker/cms-worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"//": "@codemirror/language, @lezer/highlight: workaround — @mdxeditor/editor uses cm6-theme-basic-light which peer-requires these but mdxeditor doesn't declare them as dependencies",
|
|
3
3
|
"name": "canopycms",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.55",
|
|
5
5
|
"description": "CanopyCMS core package: schema-driven content, branch-aware editing, and editor UI for Next.js.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -100,7 +100,6 @@
|
|
|
100
100
|
"minimist": "^1.2.8",
|
|
101
101
|
"pathe": "^1.1.2",
|
|
102
102
|
"proper-lockfile": "^4.1.2",
|
|
103
|
-
"react-icons": "^5.5.0",
|
|
104
103
|
"react-split-pane": "^0.1.92",
|
|
105
104
|
"short-uuid": "^6.0.3",
|
|
106
105
|
"simple-git": "^3.36.0",
|