@hadoku/jobplatform-worker 2.32.23 → 2.32.25
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/index.js +37 -20
- package/dist/ownerName.d.ts +18 -1
- package/dist/ownerName.d.ts.map +1 -1
- package/dist/routes/jobs/applications.d.ts.map +1 -1
- package/dist/routes/jobs/owner.d.ts.map +1 -1
- package/dist/routes/jobs/shared.d.ts +2 -1
- package/dist/routes/jobs/shared.d.ts.map +1 -1
- package/dist/routes/profiles.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1342,13 +1342,8 @@ async function resolveGranteeVia(edge, input) {
|
|
|
1342
1342
|
};
|
|
1343
1343
|
}
|
|
1344
1344
|
const OWNER_NAME_TTL_MS = 15 * 6e4;
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
const key = name.trim().toLowerCase();
|
|
1348
|
-
const hit = await db.prepare(
|
|
1349
|
-
"SELECT user_id, name, tier FROM owner_name_cache WHERE name_key = ? AND expires_at > ?"
|
|
1350
|
-
).bind(key, now).first();
|
|
1351
|
-
if (hit) return { userId: hit.user_id, name: hit.name, ...hit.tier ? { tier: hit.tier } : {} };
|
|
1345
|
+
const OWNER_NAME_REFRESH_AHEAD_MS = OWNER_NAME_TTL_MS / 2;
|
|
1346
|
+
async function resolveAndRemember(db, edge, serviceKey, name, key, now) {
|
|
1352
1347
|
const result = await resolveGranteeVia(edge, { serviceKey, name });
|
|
1353
1348
|
if (!isIdentityError(result)) {
|
|
1354
1349
|
await db.prepare(
|
|
@@ -1360,6 +1355,20 @@ async function resolveOwnerName(db, edge, serviceKey, name, now = Date.now()) {
|
|
|
1360
1355
|
}
|
|
1361
1356
|
return result;
|
|
1362
1357
|
}
|
|
1358
|
+
async function resolveOwnerName(db, edge, serviceKey, name, now = Date.now(), defer) {
|
|
1359
|
+
if (!edge) return resolveGranteeVia(edge, { serviceKey, name });
|
|
1360
|
+
const key = name.trim().toLowerCase();
|
|
1361
|
+
const hit = await db.prepare(
|
|
1362
|
+
"SELECT user_id, name, tier, expires_at FROM owner_name_cache WHERE name_key = ? AND expires_at > ?"
|
|
1363
|
+
).bind(key, now).first();
|
|
1364
|
+
if (hit) {
|
|
1365
|
+
if (defer && hit.expires_at - now <= OWNER_NAME_REFRESH_AHEAD_MS) {
|
|
1366
|
+
defer("owner name refresh", resolveAndRemember(db, edge, serviceKey, name, key, now));
|
|
1367
|
+
}
|
|
1368
|
+
return { userId: hit.user_id, name: hit.name, ...hit.tier ? { tier: hit.tier } : {} };
|
|
1369
|
+
}
|
|
1370
|
+
return resolveAndRemember(db, edge, serviceKey, name, key, now);
|
|
1371
|
+
}
|
|
1363
1372
|
const ON_BEHALF_REFUSAL = "Only admin, or a service caller named in ON_BEHALF_CALLER_USER_IDS, may act on behalf of a named owner.";
|
|
1364
1373
|
function mayActOnBehalf(auth, callerId, allowed) {
|
|
1365
1374
|
if (tierAtLeast(auth, "admin")) return true;
|
|
@@ -1455,7 +1464,9 @@ async function effectiveUserId(c, ownerName) {
|
|
|
1455
1464
|
c.env.JOB_PLATFORM_DB,
|
|
1456
1465
|
c.env.EDGE,
|
|
1457
1466
|
c.env.HADOKU_SERVICE_KEY ?? "",
|
|
1458
|
-
named
|
|
1467
|
+
named,
|
|
1468
|
+
Date.now(),
|
|
1469
|
+
(label, work) => runAfterResponse(c, label, work)
|
|
1459
1470
|
);
|
|
1460
1471
|
if (isIdentityError(resolved)) {
|
|
1461
1472
|
const status = [404, 409, 503].includes(resolved.status) ? resolved.status : 503;
|
|
@@ -2730,7 +2741,9 @@ async function requireIdentity(c, next) {
|
|
|
2730
2741
|
c.env.JOB_PLATFORM_DB,
|
|
2731
2742
|
c.env.EDGE,
|
|
2732
2743
|
c.env.HADOKU_SERVICE_KEY ?? "",
|
|
2733
|
-
owner
|
|
2744
|
+
owner,
|
|
2745
|
+
Date.now(),
|
|
2746
|
+
(label, work) => runAfterResponse(c, label, work)
|
|
2734
2747
|
);
|
|
2735
2748
|
if (isIdentityError(resolved)) {
|
|
2736
2749
|
const status = [404, 409, 503].includes(resolved.status) ? resolved.status : 503;
|
|
@@ -4921,7 +4934,9 @@ function registerOwnerRoutes(app2) {
|
|
|
4921
4934
|
c.env.JOB_PLATFORM_DB,
|
|
4922
4935
|
c.env.EDGE,
|
|
4923
4936
|
c.env.HADOKU_SERVICE_KEY ?? "",
|
|
4924
|
-
name
|
|
4937
|
+
name,
|
|
4938
|
+
Date.now(),
|
|
4939
|
+
(label, work) => runAfterResponse(c, label, work)
|
|
4925
4940
|
);
|
|
4926
4941
|
if (isIdentityError(resolved)) {
|
|
4927
4942
|
const status = [400, 404, 409, 503].includes(resolved.status) ? resolved.status : 503;
|
|
@@ -5189,18 +5204,20 @@ function registerApplicationRoutes(app2) {
|
|
|
5189
5204
|
WHERE a.user_id = ?${filter}
|
|
5190
5205
|
ORDER BY a.updated_at DESC`
|
|
5191
5206
|
);
|
|
5192
|
-
startTime(c, "
|
|
5193
|
-
const rows = await
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
)
|
|
5199
|
-
endTime(c, "
|
|
5207
|
+
startTime(c, "read");
|
|
5208
|
+
const [rows, answerRows] = await c.env.JOB_PLATFORM_DB.batch([
|
|
5209
|
+
status ? stmt.bind(userId, status) : stmt.bind(userId),
|
|
5210
|
+
c.env.JOB_PLATFORM_DB.prepare(
|
|
5211
|
+
"SELECT question_key, question, answer FROM application_answers WHERE user_id = ?"
|
|
5212
|
+
).bind(userId)
|
|
5213
|
+
]);
|
|
5214
|
+
endTime(c, "read");
|
|
5215
|
+
const appRows = rows.results;
|
|
5216
|
+
const answers = answerRows.results;
|
|
5200
5217
|
const stored = new Map(
|
|
5201
|
-
|
|
5218
|
+
answers.map((a) => [a.question_key, { question: a.question, answer: a.answer }])
|
|
5202
5219
|
);
|
|
5203
|
-
const applications =
|
|
5220
|
+
const applications = appRows.map((r) => {
|
|
5204
5221
|
const app22 = toApplication(r);
|
|
5205
5222
|
return {
|
|
5206
5223
|
...app22,
|
package/dist/ownerName.d.ts
CHANGED
|
@@ -12,6 +12,20 @@ import { type EdgeIdentityBinding, type IdentityResult } from '@wolffm/worker-ut
|
|
|
12
12
|
* else keeps resolving to its previous holder until the row expires.
|
|
13
13
|
*/
|
|
14
14
|
export declare const OWNER_NAME_TTL_MS: number;
|
|
15
|
+
/**
|
|
16
|
+
* When a remembered name has less than this left, a hit answers from the row
|
|
17
|
+
* AND re-asks the edge behind the response.
|
|
18
|
+
*
|
|
19
|
+
* Without it every third tick of the five-minute runner was a miss: the row
|
|
20
|
+
* expired between ticks, and that request paid the edge's registry scan,
|
|
21
|
+
* 500-1000ms and once 15s (issue #26; 74% of all `GET /applications` time on
|
|
22
|
+
* 2026-11-03). Half the TTL means a caller that asks at least that often keeps
|
|
23
|
+
* the row fresh and never waits on the edge. An expired row is still never
|
|
24
|
+
* answered from, so the rename bound above is unchanged.
|
|
25
|
+
*/
|
|
26
|
+
export declare const OWNER_NAME_REFRESH_AHEAD_MS: number;
|
|
27
|
+
/** Hands work to `waitUntil`; see `runAfterResponse` in background.ts. */
|
|
28
|
+
export type Defer = (label: string, work: Promise<unknown>) => void;
|
|
15
29
|
/**
|
|
16
30
|
* `resolveGranteeVia`, remembered for {@link OWNER_NAME_TTL_MS} in D1.
|
|
17
31
|
*
|
|
@@ -24,8 +38,11 @@ export declare const OWNER_NAME_TTL_MS: number;
|
|
|
24
38
|
* name is never answered from cache once the edge has said so, and a 503 is an
|
|
25
39
|
* outage, never an answer worth keeping. An unbound `EDGE` skips the cache:
|
|
26
40
|
* that is a deployment fault and must keep reporting NO_REGISTRY.
|
|
41
|
+
*
|
|
42
|
+
* With `defer`, a hit inside {@link OWNER_NAME_REFRESH_AHEAD_MS} of expiry is
|
|
43
|
+
* refreshed behind the response. Without it the row simply runs out.
|
|
27
44
|
*/
|
|
28
|
-
export declare function resolveOwnerName(db: D1Database, edge: EdgeIdentityBinding | undefined, serviceKey: string, name: string, now?: number): Promise<IdentityResult>;
|
|
45
|
+
export declare function resolveOwnerName(db: D1Database, edge: EdgeIdentityBinding | undefined, serviceKey: string, name: string, now?: number, defer?: Defer): Promise<IdentityResult>;
|
|
29
46
|
/**
|
|
30
47
|
* Whether this caller may act for a named owner (`ownerName`): admin, or a
|
|
31
48
|
* service caller whose registry userId is in `ON_BEHALF_CALLER_USER_IDS`.
|
package/dist/ownerName.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownerName.d.ts","sourceRoot":"","sources":["../src/ownerName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAGN,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,QAAc,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"ownerName.d.ts","sourceRoot":"","sources":["../src/ownerName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAGN,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,QAAc,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,QAAwB,CAAC;AAEjE,0EAA0E;AAC1E,MAAM,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AA0BpE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACrC,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,mBAAmB,GAAG,SAAS,EACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAmB,EACxB,KAAK,CAAC,EAAE,KAAK,GACX,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED;;;;;;;;;GASG;AACH,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,4GAC4E,CAAC;AAE3G,wBAAgB,cAAc,CAC7B,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAQT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applications.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/applications.ts"],"names":[],"mappings":"AAaA,OAAO,EAKN,KAAK,OAAO,EAEZ,MAAM,aAAa,CAAC;AAwCrB,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAUhF;AAiJD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"applications.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/applications.ts"],"names":[],"mappings":"AAaA,OAAO,EAKN,KAAK,OAAO,EAEZ,MAAM,aAAa,CAAC;AAwCrB,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAUhF;AAiJD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA+e5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/owner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"owner.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/owner.ts"],"names":[],"mappings":"AAWA,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAoItD"}
|
|
@@ -2,6 +2,7 @@ import { z, type OpenAPIHono } from '@hono/zod-openapi';
|
|
|
2
2
|
import { type HadokuAuthContext } from '@wolffm/worker-utils';
|
|
3
3
|
import type { D1Database, Fetcher } from '@cloudflare/workers-types';
|
|
4
4
|
import type { AppEnv } from '../../types.js';
|
|
5
|
+
import { type HasExecutionCtx } from '../../background.js';
|
|
5
6
|
import { type RoleLevel } from '../../roleClassify.js';
|
|
6
7
|
export interface RouteContext {
|
|
7
8
|
Bindings: AppEnv;
|
|
@@ -116,7 +117,7 @@ export declare function isEffectiveUserError(v: EffectiveUser): v is {
|
|
|
116
117
|
* kinds share a name, neither a reviewer nor a gate can separate them. Renamed
|
|
117
118
|
* 2026-09-03. Keep any future on-behalf-of parameter in the `*Name` shape.
|
|
118
119
|
*/
|
|
119
|
-
export declare function effectiveUserId(c: {
|
|
120
|
+
export declare function effectiveUserId(c: HasExecutionCtx & {
|
|
120
121
|
req: {
|
|
121
122
|
header: (name: string) => string | undefined;
|
|
122
123
|
query?: (name: string) => string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QAAE,WAAW,EAAE,iBAAiB,CAAA;KAAE,CAAC;CAC9C;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;iBAKzB,CAAC;AAEH,6DAA6D;AAC7D,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAMhD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAE9D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,CAEnE;AAaD,wBAAsB,WAAW,CAAC,CAAC,EAAE;IACpC,GAAG,EAAE;QAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,iBAAiB,CAAC;CAC7C,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWzB;AAED,uEAAuE;AACvE,wBAAsB,UAAU,CAC/B,CAAC,EAAE;IAAE,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,iBAAiB,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAA;CAAE,EAC/F,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,iCAWzB;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAG5F;AAED,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC9B,IAAI,EAAE;QACL,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,aAAa,GAAG,gBAAgB,GAAG,YAAY,CAAC;KACvD,CAAC;CACF;AAED,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7C;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC;AAE9B,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,IAAI;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE,CAEtF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,eAAe,CACpC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/routes/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwB9E,UAAU,YAAY;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QACV,WAAW,EAAE,iBAAiB,CAAC;QAC/B;;;;WAIG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/routes/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwB9E,UAAU,YAAY;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QACV,WAAW,EAAE,iBAAiB,CAAC;QAC/B;;;;WAIG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AAwoBD,eAAO,MAAM,aAAa,oCAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hadoku/jobplatform-worker",
|
|
3
|
-
"version": "2.32.
|
|
4
|
-
"gitHead": "
|
|
3
|
+
"version": "2.32.25",
|
|
4
|
+
"gitHead": "4a80e75b0d72776753afca49516f746ccb37d0b2",
|
|
5
5
|
"description": "Job listings aggregation and tracking dashboard - Worker package",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|