@substrat-run/engine-notifications 0.0.0-stage → 0.3.0

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/seam.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /** How this engine names itself in a seam failure. */
2
+ export declare const columnsOf: (schema: {
3
+ readonly shape: Readonly<Record<string, unknown>>;
4
+ }) => string, returns: <T>(schema: import("zod").ZodType<T>, surface: string, value: unknown) => T;
5
+ //# sourceMappingURL=seam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seam.d.ts","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAYA,sDAAsD;AACtD,eAAO,MAAQ,SAAS;;cAAE,OAAO,6EAAuC,CAAC"}
package/dist/seam.js ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The engine seam (#771) for engine-notifications — the NAME, and nothing else.
3
+ *
4
+ * `returns(schema, surface, value)` and `columnsOf(schema)` live in `@substrat-run/contracts`
5
+ * (#970). Every value this engine hands a caller goes out through `returns`, so a stored row
6
+ * that no longer matches the published shape throws instead of reaching a screen as wrong data.
7
+ * The paged delivery list is the kernel's `ctx.page`, which names no star; the digest's read of
8
+ * its held items names its columns with `columnsOf` and parses each row the same way, because
9
+ * what it reads is mailed.
10
+ */
11
+ import { engineSeam } from '@substrat-run/contracts';
12
+ /** How this engine names itself in a seam failure. */
13
+ export const { columnsOf, returns } = engineSeam('engine-notifications');
14
+ //# sourceMappingURL=seam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seam.js","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,sDAAsD;AACtD,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,53 @@
1
1
  {
2
2
  "name": "@substrat-run/engine-notifications",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.3.0",
4
+ "description": "Substrat engine: notifications — an occasion a vertical names becomes email to the people it concerns, through per-user preferences, escaped templates and tracked deliveries",
5
+ "license": "AGPL-3.0-only",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/substrat-run/substrat.git",
9
+ "directory": "engines/notifications"
10
+ },
11
+ "homepage": "https://substrat.net/engines",
12
+ "type": "module",
13
+ "main": "./dist/index.js",
14
+ "types": "./dist/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "default": "./dist/index.js"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "dependencies": {
28
+ "@substrat-run/contracts": "^0.155.0",
29
+ "@substrat-run/kernel": "^0.155.0"
30
+ },
31
+ "devDependencies": {
32
+ "@cloudflare/vitest-plugin": "^1.4.3",
33
+ "@cloudflare/workers-types": "^4.20250109.0",
34
+ "typescript": "^7.0.0",
35
+ "vitest": "^5.0.5",
36
+ "zod": "^4.4.3",
37
+ "@substrat-run/engine-test-kit": "^0.3.82",
38
+ "@substrat-run/adapter-cloudflare": "^0.155.0",
39
+ "@substrat-run/contract-tests": "^0.155.0",
40
+ "@substrat-run/model-emit": "0.10.11"
41
+ },
42
+ "peerDependencies": {
43
+ "zod": "^4.4.0"
44
+ },
45
+ "substrat": {
46
+ "conformance": "test/conformance.ts"
47
+ },
48
+ "scripts": {
49
+ "build": "tsc -p tsconfig.json",
50
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit && tsc -p tsconfig.workerd-test.json --noEmit",
51
+ "test": "vitest run && vitest run -c vitest.workerd.config.ts"
52
+ }
6
53
  }