@agentworkforce/events 0.1.0 → 4.1.19

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.
@@ -0,0 +1,104 @@
1
+ export type JsonSchema = Readonly<Record<string, unknown>>;
2
+ /** Small, display-safe description of an Event. Provider-specific detail lives in payload. */
3
+ export interface EventSummary {
4
+ title?: string;
5
+ description?: string;
6
+ actor?: string;
7
+ [key: string]: unknown;
8
+ }
9
+ export interface EventFrameV1 {
10
+ schemaVersion: 1;
11
+ id: string;
12
+ workspace: string;
13
+ type: string;
14
+ contractVersion: number;
15
+ occurredAt: string;
16
+ attempt: number;
17
+ resource: {
18
+ path: string;
19
+ kind: string;
20
+ id: string;
21
+ provider: string;
22
+ };
23
+ summary: EventSummary;
24
+ delivery?: {
25
+ id?: string;
26
+ dedupeKey?: string;
27
+ };
28
+ payload?: unknown;
29
+ paths?: string[];
30
+ digest?: string;
31
+ schedule?: {
32
+ name: string;
33
+ cron?: string;
34
+ timezone?: string;
35
+ scheduledFor?: string;
36
+ };
37
+ message?: {
38
+ channel?: string;
39
+ messageId?: string;
40
+ threadId?: string;
41
+ };
42
+ extensions?: Record<string, unknown>;
43
+ }
44
+ export interface ValidationIssue {
45
+ path: string;
46
+ message: string;
47
+ keyword?: string;
48
+ }
49
+ export type ValidationResult = {
50
+ valid: true;
51
+ errors: readonly [];
52
+ } | {
53
+ valid: false;
54
+ errors: readonly ValidationIssue[];
55
+ };
56
+ export interface EventContract<TPayload = unknown> {
57
+ id: string;
58
+ version: number;
59
+ provider: string;
60
+ trigger: string;
61
+ resourceKind: string;
62
+ summarySchema: JsonSchema;
63
+ payloadSchema?: JsonSchema;
64
+ fixtureExamples: readonly EventFrameV1[];
65
+ redact(payload: TPayload): TPayload;
66
+ validate(frame: EventFrameV1): ValidationResult;
67
+ }
68
+ /** The pre-EventFrame gateway shape retained only as an input compatibility contract. */
69
+ export interface LegacyRawGatewayEnvelope {
70
+ id: string;
71
+ workspace: string;
72
+ type: string;
73
+ occurredAt: string;
74
+ attempt?: number;
75
+ resource?: unknown;
76
+ summary?: Record<string, unknown>;
77
+ expand?: unknown;
78
+ digest?: string;
79
+ name?: string;
80
+ cron?: string;
81
+ provider?: string;
82
+ eventType?: string;
83
+ deliveryId?: string;
84
+ paths?: string[];
85
+ resumeContext?: unknown;
86
+ harnessSession?: unknown;
87
+ channel?: string;
88
+ messageId?: string;
89
+ threadId?: string;
90
+ [key: string]: unknown;
91
+ }
92
+ export interface EventCompatibilityInfo {
93
+ source: 'legacy-raw-gateway-envelope';
94
+ originalType: string;
95
+ aliasesApplied: readonly string[];
96
+ preservedFields: readonly string[];
97
+ /** A colliding legacy `compatibility` field, retained without hiding the decoder trace. */
98
+ originalCompatibility?: unknown;
99
+ }
100
+ export interface DecodedEventFrame {
101
+ frame: EventFrameV1;
102
+ compatibility?: EventCompatibilityInfo;
103
+ }
104
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { EventFrameV1, ValidationIssue, ValidationResult } from './types.js';
2
+ export declare class EventValidationError extends Error {
3
+ readonly issues: readonly ValidationIssue[];
4
+ constructor(issues: readonly ValidationIssue[]);
5
+ }
6
+ export declare function validateEventFrameV1(value: unknown): ValidationResult;
7
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
8
+ export declare function assertEventFrameV1(value: unknown): asserts value is EventFrameV1;
9
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;gBAEhC,MAAM,EAAE,SAAS,eAAe,EAAE;CAK/C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAErE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAGhF"}
@@ -0,0 +1,22 @@
1
+ import { validateJsonSchema } from './json-schema.js';
2
+ import { EVENT_FRAME_V1_SCHEMA } from './schemas.js';
3
+ export class EventValidationError extends Error {
4
+ issues;
5
+ constructor(issues) {
6
+ super(issues.map((issue) => `${issue.path}: ${issue.message}`).join('; '));
7
+ this.name = 'EventValidationError';
8
+ this.issues = issues;
9
+ }
10
+ }
11
+ export function validateEventFrameV1(value) {
12
+ return validateJsonSchema(EVENT_FRAME_V1_SCHEMA, value);
13
+ }
14
+ export function isRecord(value) {
15
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
16
+ }
17
+ export function assertEventFrameV1(value) {
18
+ const result = validateEventFrameV1(value);
19
+ if (!result.valid)
20
+ throw new EventValidationError(result.errors);
21
+ }
22
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,MAAM,CAA6B;IAE5C,YAAY,MAAkC;QAC5C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,kBAAkB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentworkforce/events",
3
- "version": "0.1.0",
3
+ "version": "4.1.19",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,15 +29,15 @@
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
+ "dependencies": {
33
+ "ajv": "8.20.0",
34
+ "ajv-formats": "3.0.1"
35
+ },
32
36
  "scripts": {
33
37
  "build": "tsc -p tsconfig.json",
34
38
  "dev": "tsc -p tsconfig.json --watch --preserveWatchOutput",
35
39
  "typecheck": "tsc -p tsconfig.json --noEmit",
36
40
  "test": "tsc -p tsconfig.json && node --test dist/*.test.js",
37
41
  "lint": "tsc -p tsconfig.json --noEmit"
38
- },
39
- "dependencies": {
40
- "ajv": "8.20.0",
41
- "ajv-formats": "3.0.1"
42
42
  }
43
- }
43
+ }