@daloyjs/core 1.2.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/app.d.ts +122 -0
- package/dist/app.js +169 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/jobs.d.ts +665 -0
- package/dist/jobs.js +1102 -0
- package/dist/sbom.cdx.json +9 -9
- package/dist/sbom.spdx.json +5 -5
- package/dist/scheduler.js +10 -5
- package/package.json +7 -1
package/dist/sbom.cdx.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bomFormat": "CycloneDX",
|
|
3
3
|
"specVersion": "1.5",
|
|
4
|
-
"serialNumber": "urn:uuid:
|
|
4
|
+
"serialNumber": "urn:uuid:3be788cc-3073-595a-871d-593791c06327",
|
|
5
5
|
"version": 1,
|
|
6
6
|
"metadata": {
|
|
7
|
-
"timestamp": "2026-08-
|
|
7
|
+
"timestamp": "2026-08-29T14:05:07.830Z",
|
|
8
8
|
"tools": [
|
|
9
9
|
{
|
|
10
10
|
"vendor": "DaloyJS",
|
|
11
11
|
"name": "daloy-generate-sbom",
|
|
12
|
-
"version": "1.
|
|
12
|
+
"version": "1.3.1"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"authors": [
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
],
|
|
20
20
|
"component": {
|
|
21
21
|
"type": "library",
|
|
22
|
-
"bom-ref": "pkg:npm/@daloyjs/core@1.
|
|
22
|
+
"bom-ref": "pkg:npm/@daloyjs/core@1.3.1",
|
|
23
23
|
"name": "@daloyjs/core",
|
|
24
|
-
"version": "1.
|
|
24
|
+
"version": "1.3.1",
|
|
25
25
|
"description": "DaloyJS is a runtime-portable, contract-first TypeScript web framework with built-in OpenAPI (Hey API), typed client generation, large-scale maintainability, and security-first defaults. Hono-grade portability, Elysia-grade DX, FastAPI-grade docs, Fastify-grade ops — distributed via pnpm.",
|
|
26
|
-
"purl": "pkg:npm/@daloyjs/core@1.
|
|
26
|
+
"purl": "pkg:npm/@daloyjs/core@1.3.1",
|
|
27
27
|
"licenses": [
|
|
28
28
|
{
|
|
29
29
|
"license": {
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
}
|
|
47
47
|
],
|
|
48
48
|
"swid": {
|
|
49
|
-
"tagId": "swidtag--daloyjs-core-1.
|
|
49
|
+
"tagId": "swidtag--daloyjs-core-1.3.1",
|
|
50
50
|
"name": "@daloyjs/core",
|
|
51
|
-
"version": "1.
|
|
51
|
+
"version": "1.3.1",
|
|
52
52
|
"tagVersion": 0,
|
|
53
53
|
"patch": false
|
|
54
54
|
}
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"components": [],
|
|
58
58
|
"dependencies": [
|
|
59
59
|
{
|
|
60
|
-
"ref": "pkg:npm/@daloyjs/core@1.
|
|
60
|
+
"ref": "pkg:npm/@daloyjs/core@1.3.1",
|
|
61
61
|
"dependsOn": []
|
|
62
62
|
}
|
|
63
63
|
]
|
package/dist/sbom.spdx.json
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"spdxVersion": "SPDX-2.3",
|
|
3
3
|
"dataLicense": "CC0-1.0",
|
|
4
4
|
"SPDXID": "SPDXRef-DOCUMENT",
|
|
5
|
-
"name": "@daloyjs/core-1.
|
|
6
|
-
"documentNamespace": "https://github.com/daloyjs/daloy/sbom/@daloyjs/core-1.
|
|
5
|
+
"name": "@daloyjs/core-1.3.1",
|
|
6
|
+
"documentNamespace": "https://github.com/daloyjs/daloy/sbom/@daloyjs/core-1.3.1-3be788cc-3073-595a-871d-593791c06327",
|
|
7
7
|
"creationInfo": {
|
|
8
|
-
"created": "2026-08-
|
|
8
|
+
"created": "2026-08-29T14:05:07.830Z",
|
|
9
9
|
"creators": [
|
|
10
10
|
"Tool: daloy-generate-sbom",
|
|
11
11
|
"Organization: DaloyJS"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
{
|
|
17
17
|
"SPDXID": "SPDXRef-Package--daloyjs-core",
|
|
18
18
|
"name": "@daloyjs/core",
|
|
19
|
-
"versionInfo": "1.
|
|
19
|
+
"versionInfo": "1.3.1",
|
|
20
20
|
"downloadLocation": "https://github.com/daloyjs/daloy",
|
|
21
21
|
"filesAnalyzed": false,
|
|
22
22
|
"licenseConcluded": "MIT",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
{
|
|
28
28
|
"referenceCategory": "PACKAGE-MANAGER",
|
|
29
29
|
"referenceType": "purl",
|
|
30
|
-
"referenceLocator": "pkg:npm/@daloyjs/core@1.
|
|
30
|
+
"referenceLocator": "pkg:npm/@daloyjs/core@1.3.1"
|
|
31
31
|
}
|
|
32
32
|
]
|
|
33
33
|
}
|
package/dist/scheduler.js
CHANGED
|
@@ -487,16 +487,21 @@ export class Scheduler {
|
|
|
487
487
|
}, 0);
|
|
488
488
|
return;
|
|
489
489
|
}
|
|
490
|
-
|
|
491
|
-
|
|
490
|
+
// One clock read anchors both the delay and nextRunAt: splitting them
|
|
491
|
+
// let a millisecond slip between the two reads push nextRunAt (and so
|
|
492
|
+
// the tick's scheduledFor) off the cron boundary by a per-process
|
|
493
|
+
// delta, which broke cronEnqueue's cross-replica payload dedup.
|
|
494
|
+
const now = this.#now();
|
|
495
|
+
const delay = this.#nextDelay(task, now);
|
|
496
|
+
task.nextRunAt = now + delay;
|
|
492
497
|
task.timer = this.#timers.set(() => {
|
|
493
498
|
void this.#tick(task);
|
|
494
499
|
}, delay);
|
|
495
500
|
}
|
|
496
|
-
#nextDelay(task) {
|
|
501
|
+
#nextDelay(task, now) {
|
|
497
502
|
if (task.fields !== undefined) {
|
|
498
|
-
const next = nextCronRun(task.fields, new Date(
|
|
499
|
-
return Math.max(0, next.getTime() -
|
|
503
|
+
const next = nextCronRun(task.fields, new Date(now), task.def.timeZone);
|
|
504
|
+
return Math.max(0, next.getTime() - now);
|
|
500
505
|
}
|
|
501
506
|
return task.def.intervalMs;
|
|
502
507
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daloyjs/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "DaloyJS is a runtime-portable, contract-first TypeScript web framework with built-in OpenAPI (Hey API), typed client generation, large-scale maintainability, and security-first defaults. Hono-grade portability, Elysia-grade DX, FastAPI-grade docs, Fastify-grade ops \u2014 distributed via pnpm.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -170,6 +170,10 @@
|
|
|
170
170
|
"types": "./dist/scheduler.d.ts",
|
|
171
171
|
"import": "./dist/scheduler.js"
|
|
172
172
|
},
|
|
173
|
+
"./jobs": {
|
|
174
|
+
"types": "./dist/jobs.d.ts",
|
|
175
|
+
"import": "./dist/jobs.js"
|
|
176
|
+
},
|
|
173
177
|
"./mtls": {
|
|
174
178
|
"types": "./dist/mtls.d.ts",
|
|
175
179
|
"import": "./dist/mtls.js"
|
|
@@ -260,6 +264,8 @@
|
|
|
260
264
|
"test": "node --import tsx --test tests/**/*.test.ts",
|
|
261
265
|
"test:red-team": "node --import tsx --test tests/red-team-attacks.test.ts tests/red-team-attacks-2.test.ts tests/red-team-attacks-3.test.ts tests/red-team-attacks-4.test.ts tests/red-team-attacks-5.test.ts tests/red-team-attacks-6.test.ts tests/red-team-attacks-7.test.ts tests/red-team-attacks-8.test.ts tests/red-team-attacks-9.test.ts tests/red-team-attacks-10.test.ts tests/red-team-attacks-11.test.ts",
|
|
262
266
|
"red-team:live": "node --import tsx red-team-live/run.ts",
|
|
267
|
+
"red-team:live:mcp": "node --import tsx red-team-live/mcp-attacks.ts",
|
|
268
|
+
"red-team:live:wave2": "node --import tsx red-team-live/skill-wave2-attacks.ts",
|
|
263
269
|
"coverage": "node --import tsx --test --experimental-test-coverage --test-coverage-include='src/**' --test-coverage-lines=90 --test-coverage-functions=90 tests/**/*.test.ts",
|
|
264
270
|
"coverage:branches": "tsc -p tsconfig.coverage.json && node --test --experimental-test-coverage --test-coverage-include='dist-coverage/src/**' --test-coverage-branches=92 dist-coverage/tests/**/*.test.js",
|
|
265
271
|
"typecheck": "tsc --noEmit && tsc -p tsconfig.typetest.json && tsc -p tests/tsconfig.json --noEmit && tsc -p red-team-live/tsconfig.json --noEmit",
|