@lumenflow/control-plane-sdk 3.8.7 → 3.9.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/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from './sync-port.js';
2
+ export * from './signal-sync-port.js';
2
3
  export * from './workspace-config.js';
3
4
  export * from './policy-mode.js';
4
5
  export * from './http/http-control-plane-sync-port.js';
5
6
  export * from './mock/mock-control-plane-sync-port.js';
7
+ export * from './mock/mock-signal-sync-port.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  // Copyright (c) 2026 Hellmai Ltd
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- const kernelEventTypeParityCheck = true;
4
3
  export * from './sync-port.js';
4
+ export * from './signal-sync-port.js';
5
5
  export * from './workspace-config.js';
6
6
  export * from './policy-mode.js';
7
7
  export * from './http/http-control-plane-sync-port.js';
8
8
  export * from './mock/mock-control-plane-sync-port.js';
9
- void kernelEventTypeParityCheck;
9
+ export * from './mock/mock-signal-sync-port.js';
10
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAWtC,MAAM,0BAA0B,GAA0B,IAAI,CAAC;AAE/D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AAEvD,KAAK,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAEtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { DeregisterSessionInput, ListSessionsInput, ListSessionsResult, MemoryRecord, MemorySyncPort, PullSignalsInput, PullSignalsResult, PushSignalsInput, RegisterSessionInput, SessionSummary, SignalEntry, SignalSyncPort, SyncMemoryInput, SyncMemoryResult } from '../signal-sync-port.js';
2
+ import type { AcceptedCount } from '../sync-port.js';
3
+ export interface MockSignalSyncPortOptions {
4
+ conflict_keys?: string[];
5
+ now?: () => string;
6
+ }
7
+ export declare class MockSignalSyncPort implements SignalSyncPort, MemorySyncPort {
8
+ private readonly conflictKeys;
9
+ private readonly now;
10
+ private readonly signalsByWorkspace;
11
+ private readonly sessionsByWorkspace;
12
+ private readonly memoryByWorkspace;
13
+ constructor(options?: MockSignalSyncPortOptions);
14
+ pushSignals(input: PushSignalsInput): Promise<AcceptedCount>;
15
+ pullSignals(input: PullSignalsInput): Promise<PullSignalsResult>;
16
+ registerSession(input: RegisterSessionInput): Promise<SessionSummary>;
17
+ deregisterSession(input: DeregisterSessionInput): Promise<AcceptedCount>;
18
+ listSessions(input: ListSessionsInput): Promise<ListSessionsResult>;
19
+ syncMemory(input: SyncMemoryInput): Promise<SyncMemoryResult>;
20
+ readSignals(workspaceId: string): SignalEntry[];
21
+ readSessions(workspaceId: string): SessionSummary[];
22
+ readMemory(workspaceId: string): MemoryRecord[];
23
+ }
24
+ export declare function createMockSignalSyncPort(options?: MockSignalSyncPortOptions): MockSignalSyncPort;
25
+ //# sourceMappingURL=mock-signal-sync-port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-signal-sync-port.d.ts","sourceRoot":"","sources":["../../src/mock/mock-signal-sync-port.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAElB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAwCD,qBAAa,kBAAmB,YAAW,cAAc,EAAE,cAAc;IACvE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoC;IACvE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkD;IACtF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgD;gBAE/D,OAAO,GAAE,yBAA8B;IAK7C,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAc5D,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAYhE,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBrE,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBxE,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAenE,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DnE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE;IAI/C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE;IAMnD,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE;CAKvD;AAED,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,CAEpB"}
@@ -0,0 +1,176 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ const DEFAULT_PAGE_LIMIT = 50;
4
+ const CURSOR_BASE = 10;
5
+ function memoryKey(record) {
6
+ return `${record.namespace}:${record.key}`;
7
+ }
8
+ function cloneSignal(signal) {
9
+ return {
10
+ ...signal,
11
+ payload: { ...signal.payload },
12
+ };
13
+ }
14
+ function cloneMemoryRecord(record) {
15
+ return {
16
+ ...record,
17
+ value: record.value,
18
+ };
19
+ }
20
+ function parseCursor(cursor) {
21
+ if (!cursor) {
22
+ return 0;
23
+ }
24
+ const parsed = Number.parseInt(cursor, CURSOR_BASE);
25
+ if (!Number.isFinite(parsed) || parsed < 0) {
26
+ return 0;
27
+ }
28
+ return parsed;
29
+ }
30
+ function sortMemoryRecords(records) {
31
+ return [...records].sort((a, b) => {
32
+ if (a.updated_at === b.updated_at) {
33
+ return memoryKey(a).localeCompare(memoryKey(b));
34
+ }
35
+ return a.updated_at.localeCompare(b.updated_at);
36
+ });
37
+ }
38
+ export class MockSignalSyncPort {
39
+ conflictKeys;
40
+ now;
41
+ signalsByWorkspace = new Map();
42
+ sessionsByWorkspace = new Map();
43
+ memoryByWorkspace = new Map();
44
+ constructor(options = {}) {
45
+ this.conflictKeys = new Set(options.conflict_keys ?? []);
46
+ this.now = options.now ?? (() => new Date().toISOString());
47
+ }
48
+ async pushSignals(input) {
49
+ const existing = this.signalsByWorkspace.get(input.workspace_id) ?? [];
50
+ const next = existing.concat(input.signals.map((signal) => cloneSignal({
51
+ ...signal,
52
+ origin: signal.origin ?? 'local',
53
+ })));
54
+ this.signalsByWorkspace.set(input.workspace_id, next);
55
+ return { accepted: input.signals.length };
56
+ }
57
+ async pullSignals(input) {
58
+ const existing = this.signalsByWorkspace.get(input.workspace_id) ?? [];
59
+ const start = parseCursor(input.cursor);
60
+ const limit = input.limit ?? DEFAULT_PAGE_LIMIT;
61
+ const slice = existing.slice(start, start + limit).map(cloneSignal);
62
+ const nextIndex = start + slice.length;
63
+ return {
64
+ signals: slice,
65
+ next_cursor: nextIndex < existing.length ? String(nextIndex) : undefined,
66
+ };
67
+ }
68
+ async registerSession(input) {
69
+ const workspaceSessions = this.sessionsByWorkspace.get(input.workspace_id) ?? new Map();
70
+ const session = {
71
+ workspace_id: input.workspace_id,
72
+ session_id: input.session_id,
73
+ agent_id: input.agent_id,
74
+ started_at: input.started_at,
75
+ lane: input.lane,
76
+ wu_id: input.wu_id,
77
+ metadata: input.metadata ? { ...input.metadata } : undefined,
78
+ active: true,
79
+ last_heartbeat_at: this.now(),
80
+ };
81
+ workspaceSessions.set(input.session_id, session);
82
+ this.sessionsByWorkspace.set(input.workspace_id, workspaceSessions);
83
+ return { ...session };
84
+ }
85
+ async deregisterSession(input) {
86
+ const workspaceSessions = this.sessionsByWorkspace.get(input.workspace_id);
87
+ if (!workspaceSessions) {
88
+ return { accepted: 0 };
89
+ }
90
+ const session = workspaceSessions.get(input.session_id);
91
+ if (!session) {
92
+ return { accepted: 0 };
93
+ }
94
+ workspaceSessions.set(input.session_id, {
95
+ ...session,
96
+ active: false,
97
+ last_heartbeat_at: input.ended_at ?? this.now(),
98
+ });
99
+ return { accepted: 1 };
100
+ }
101
+ async listSessions(input) {
102
+ const workspaceSessions = this.sessionsByWorkspace.get(input.workspace_id);
103
+ if (!workspaceSessions) {
104
+ return { sessions: [] };
105
+ }
106
+ const includeInactive = input.include_inactive ?? false;
107
+ const sessions = Array.from(workspaceSessions.values())
108
+ .filter((session) => (includeInactive ? true : session.active))
109
+ .filter((session) => (input.lane ? session.lane === input.lane : true))
110
+ .map((session) => ({ ...session }));
111
+ return { sessions };
112
+ }
113
+ async syncMemory(input) {
114
+ const workspaceMemory = this.memoryByWorkspace.get(input.workspace_id) ?? new Map();
115
+ const conflicts = [];
116
+ let pushed = 0;
117
+ if (input.direction === 'push' || input.direction === 'bidirectional') {
118
+ for (const localRecord of input.local_records) {
119
+ const key = memoryKey(localRecord);
120
+ const existing = workspaceMemory.get(key);
121
+ const hasRevisionConflict = Boolean(existing?.revision) &&
122
+ Boolean(localRecord.revision) &&
123
+ existing?.revision !== localRecord.revision;
124
+ const forcedConflict = this.conflictKeys.has(key) && Boolean(existing);
125
+ if (hasRevisionConflict || forcedConflict) {
126
+ conflicts.push({
127
+ namespace: localRecord.namespace,
128
+ key: localRecord.key,
129
+ local_revision: localRecord.revision,
130
+ remote_revision: existing?.revision,
131
+ resolution: 'manual',
132
+ });
133
+ continue;
134
+ }
135
+ workspaceMemory.set(key, cloneMemoryRecord({
136
+ ...localRecord,
137
+ origin: localRecord.origin ?? 'local',
138
+ }));
139
+ pushed += 1;
140
+ }
141
+ }
142
+ this.memoryByWorkspace.set(input.workspace_id, workspaceMemory);
143
+ const allRemoteRecords = sortMemoryRecords(Array.from(workspaceMemory.values()).map(cloneMemoryRecord));
144
+ const start = parseCursor(input.cursor);
145
+ const limit = input.limit ?? DEFAULT_PAGE_LIMIT;
146
+ const remoteRecords = input.direction === 'pull' || input.direction === 'bidirectional'
147
+ ? allRemoteRecords.slice(start, start + limit)
148
+ : [];
149
+ const nextIndex = start + remoteRecords.length;
150
+ return {
151
+ pushed,
152
+ pulled: remoteRecords.length,
153
+ conflicts,
154
+ remote_records: remoteRecords,
155
+ next_cursor: (input.direction === 'pull' || input.direction === 'bidirectional') &&
156
+ nextIndex < allRemoteRecords.length
157
+ ? String(nextIndex)
158
+ : undefined,
159
+ };
160
+ }
161
+ readSignals(workspaceId) {
162
+ return (this.signalsByWorkspace.get(workspaceId) ?? []).map(cloneSignal);
163
+ }
164
+ readSessions(workspaceId) {
165
+ return Array.from(this.sessionsByWorkspace.get(workspaceId)?.values() ?? []).map((session) => ({
166
+ ...session,
167
+ }));
168
+ }
169
+ readMemory(workspaceId) {
170
+ return Array.from(this.memoryByWorkspace.get(workspaceId)?.values() ?? []).map(cloneMemoryRecord);
171
+ }
172
+ }
173
+ export function createMockSignalSyncPort(options = {}) {
174
+ return new MockSignalSyncPort(options);
175
+ }
176
+ //# sourceMappingURL=mock-signal-sync-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-signal-sync-port.js","sourceRoot":"","sources":["../../src/mock/mock-signal-sync-port.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAqBtC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,WAAW,GAAG,EAAE,CAAC;AAOvB,SAAS,SAAS,CAAC,MAA+C;IAChE,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAuB;IAChD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,kBAAkB;IACZ,YAAY,CAAc;IAC1B,GAAG,CAAe;IAClB,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;IACtD,mBAAmB,GAAG,IAAI,GAAG,EAAuC,CAAC;IACrE,iBAAiB,GAAG,IAAI,GAAG,EAAqC,CAAC;IAElF,YAAmB,UAAqC,EAAE;QACxD,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAuB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAC1B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,WAAW,CAAC;YACV,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO;SACjC,CAAC,CACH,CACF,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAuB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SACzE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,KAA2B;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACxF,MAAM,OAAO,GAAmB;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;YAC5D,MAAM,EAAE,IAAI;YACZ,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE;SAC9B,CAAC;QACF,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACpE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,KAA6B;QAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE;YACtC,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;SAChD,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAwB;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;aACpD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC9D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAEtC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,KAAsB;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACpF,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACtE,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,mBAAmB,GACvB,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC3B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC7B,QAAQ,EAAE,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC;gBAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEvE,IAAI,mBAAmB,IAAI,cAAc,EAAE,CAAC;oBAC1C,SAAS,CAAC,IAAI,CAAC;wBACb,SAAS,EAAE,WAAW,CAAC,SAAS;wBAChC,GAAG,EAAE,WAAW,CAAC,GAAG;wBACpB,cAAc,EAAE,WAAW,CAAC,QAAQ;wBACpC,eAAe,EAAE,QAAQ,EAAE,QAAQ;wBACnC,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,eAAe,CAAC,GAAG,CACjB,GAAG,EACH,iBAAiB,CAAC;oBAChB,GAAG,WAAW;oBACd,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,OAAO;iBACtC,CAAC,CACH,CAAC;gBACF,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAEhE,MAAM,gBAAgB,GAAG,iBAAiB,CACxC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAC5D,CAAC;QACF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAChD,MAAM,aAAa,GACjB,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe;YAC/D,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC;QAE/C,OAAO;YACL,MAAM;YACN,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,SAAS;YACT,cAAc,EAAE,aAAa;YAC7B,WAAW,EACT,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,CAAC;gBACnE,SAAS,GAAG,gBAAgB,CAAC,MAAM;gBACjC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnB,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;IAEM,WAAW,CAAC,WAAmB;QACpC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC;IAEM,YAAY,CAAC,WAAmB;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7F,GAAG,OAAO;SACX,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,UAAU,CAAC,WAAmB;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAC5E,iBAAiB,CAClB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAqC,EAAE;IAEvC,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,105 @@
1
+ import type { AcceptedCount, ControlPlaneSyncPort } from './sync-port.js';
2
+ export type SignalOrigin = 'local' | 'remote';
3
+ export interface SignalEntry {
4
+ id: string;
5
+ kind: string;
6
+ timestamp: string;
7
+ payload: Record<string, unknown>;
8
+ origin?: SignalOrigin;
9
+ source_agent_id?: string;
10
+ }
11
+ export interface PushSignalsInput {
12
+ workspace_id: string;
13
+ session_id?: string;
14
+ signals: SignalEntry[];
15
+ }
16
+ export interface PullSignalsInput {
17
+ workspace_id: string;
18
+ session_id?: string;
19
+ cursor?: string;
20
+ limit?: number;
21
+ }
22
+ export interface PullSignalsResult {
23
+ signals: SignalEntry[];
24
+ next_cursor?: string;
25
+ }
26
+ export type SessionMetadataValue = string | number | boolean;
27
+ export interface RegisterSessionInput {
28
+ workspace_id: string;
29
+ session_id: string;
30
+ agent_id: string;
31
+ started_at: string;
32
+ lane?: string;
33
+ wu_id?: string;
34
+ metadata?: Record<string, SessionMetadataValue>;
35
+ }
36
+ export interface DeregisterSessionInput {
37
+ workspace_id: string;
38
+ session_id: string;
39
+ ended_at?: string;
40
+ reason?: string;
41
+ }
42
+ export interface ListSessionsInput {
43
+ workspace_id: string;
44
+ include_inactive?: boolean;
45
+ lane?: string;
46
+ }
47
+ export interface SessionSummary {
48
+ workspace_id: string;
49
+ session_id: string;
50
+ agent_id: string;
51
+ started_at: string;
52
+ lane?: string;
53
+ wu_id?: string;
54
+ active: boolean;
55
+ last_heartbeat_at?: string;
56
+ metadata?: Record<string, SessionMetadataValue>;
57
+ }
58
+ export interface ListSessionsResult {
59
+ sessions: SessionSummary[];
60
+ }
61
+ export interface SignalSyncPort {
62
+ pushSignals(input: PushSignalsInput): Promise<AcceptedCount>;
63
+ pullSignals(input: PullSignalsInput): Promise<PullSignalsResult>;
64
+ registerSession(input: RegisterSessionInput): Promise<SessionSummary>;
65
+ deregisterSession(input: DeregisterSessionInput): Promise<AcceptedCount>;
66
+ listSessions(input: ListSessionsInput): Promise<ListSessionsResult>;
67
+ }
68
+ export type MemorySyncDirection = 'push' | 'pull' | 'bidirectional';
69
+ export interface MemoryRecord {
70
+ id: string;
71
+ namespace: string;
72
+ key: string;
73
+ value: unknown;
74
+ updated_at: string;
75
+ revision?: string;
76
+ origin?: SignalOrigin;
77
+ }
78
+ export interface MemoryConflict {
79
+ namespace: string;
80
+ key: string;
81
+ local_revision?: string;
82
+ remote_revision?: string;
83
+ resolution: 'local_wins' | 'remote_wins' | 'manual';
84
+ }
85
+ export interface SyncMemoryInput {
86
+ workspace_id: string;
87
+ session_id?: string;
88
+ direction: MemorySyncDirection;
89
+ local_records: MemoryRecord[];
90
+ cursor?: string;
91
+ limit?: number;
92
+ }
93
+ export interface SyncMemoryResult {
94
+ pushed: number;
95
+ pulled: number;
96
+ conflicts: MemoryConflict[];
97
+ remote_records?: MemoryRecord[];
98
+ next_cursor?: string;
99
+ }
100
+ export interface MemorySyncPort {
101
+ syncMemory(input: SyncMemoryInput): Promise<SyncMemoryResult>;
102
+ }
103
+ export interface ControlPlaneSyncPortV2 extends ControlPlaneSyncPort, SignalSyncPort, MemorySyncPort {
104
+ }
105
+ //# sourceMappingURL=signal-sync-port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-sync-port.d.ts","sourceRoot":"","sources":["../src/signal-sync-port.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
4
+ //# sourceMappingURL=signal-sync-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-sync-port.js","sourceRoot":"","sources":["../src/signal-sync-port.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC"}
@@ -1,4 +1,3 @@
1
- import type { KernelEvent } from '@lumenflow/kernel';
2
1
  export type PolicyDecision = 'allow' | 'deny';
3
2
  export declare const CONTROL_PLANE_POLICY_MODES: {
4
3
  readonly AUTHORITATIVE: "authoritative";
@@ -9,7 +8,37 @@ export declare const CONTROL_PLANE_POLICY_MODE_VALUES: readonly ["authoritative"
9
8
  export type ControlPlanePolicyMode = (typeof CONTROL_PLANE_POLICY_MODE_VALUES)[number];
10
9
  export declare const DEFAULT_CONTROL_PLANE_AUTH_TOKEN_ENV = "LUMENFLOW_CONTROL_PLANE_TOKEN";
11
10
  export declare const CONTROL_PLANE_AUTH_TOKEN_ENV_PATTERN: RegExp;
12
- export type { KernelEvent };
11
+ /**
12
+ * SDK-local wire contract for kernel events.
13
+ *
14
+ * This intentionally avoids importing @lumenflow/kernel from the published SDK.
15
+ * Monorepo CI enforces assignability parity against kernel's upstream type.
16
+ */
17
+ export interface SdkKernelEvent {
18
+ schema_version: number;
19
+ kind: string;
20
+ timestamp: string;
21
+ task_id?: string;
22
+ workspace_id?: string;
23
+ run_id?: string;
24
+ message?: string;
25
+ reason?: string;
26
+ wait_for?: string;
27
+ by?: string;
28
+ session_id?: string;
29
+ config_hash?: string;
30
+ changes_summary?: string;
31
+ spec?: 'task' | 'workspace';
32
+ id?: string;
33
+ expected_hash?: string;
34
+ actual_hash?: string;
35
+ evidence_refs?: string[];
36
+ parent_task_id?: string;
37
+ delegation_id?: string;
38
+ note?: string;
39
+ progress?: string;
40
+ }
41
+ export type KernelEvent = SdkKernelEvent;
13
42
  export interface ControlPlanePolicyRule {
14
43
  id: string;
15
44
  decision: PolicyDecision;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-port.d.ts","sourceRoot":"","sources":["../src/sync-port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-port.d.ts","sourceRoot":"","sources":["../src/sync-port.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,eAAO,MAAM,gCAAgC,4DAInC,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,eAAO,MAAM,oCAAoC,kCAAkC,CAAC;AACpF,eAAO,MAAM,oCAAoC,QAAsB,CAAC;AAExE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC;AAEzC,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,cAAc,CAAC;IACjC,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,sBAAsB,CAAC;IACpC,IAAI,EAAE,+BAA+B,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,2BAA2B,CAAC;CAC5C;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvE,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvE,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/D,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACvE,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtE,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-port.js","sourceRoot":"","sources":["../src/sync-port.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAMtC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,0BAA0B,CAAC,aAAa;IACxC,0BAA0B,CAAC,YAAY;IACvC,0BAA0B,CAAC,YAAY;CAC/B,CAAC;AAIX,MAAM,CAAC,MAAM,oCAAoC,GAAG,+BAA+B,CAAC;AACpF,MAAM,CAAC,MAAM,oCAAoC,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"sync-port.js","sourceRoot":"","sources":["../src/sync-port.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAItC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,0BAA0B,CAAC,aAAa;IACxC,0BAA0B,CAAC,YAAY;IACvC,0BAA0B,CAAC,YAAY;CAC/B,CAAC;AAIX,MAAM,CAAC,MAAM,oCAAoC,GAAG,+BAA+B,CAAC;AACpF,MAAM,CAAC,MAAM,oCAAoC,GAAG,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/control-plane-sdk",
3
- "version": "3.8.7",
3
+ "version": "3.9.1",
4
4
  "description": "Control plane sync contracts and adapters for LumenFlow runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -10,9 +10,6 @@
10
10
  "LICENSE",
11
11
  "README.md"
12
12
  ],
13
- "dependencies": {
14
- "@lumenflow/kernel": "3.8.7"
15
- },
16
13
  "devDependencies": {
17
14
  "@vitest/coverage-v8": "^4.0.18",
18
15
  "typescript": "^5.9.3",
@@ -27,7 +24,7 @@
27
24
  "build:dist": "tsc -p tsconfig.build.json",
28
25
  "pack:dist": "pnpm pack",
29
26
  "clean": "rm -rf dist *.tgz",
30
- "test": "vitest run",
27
+ "test": "vitest run && node ../../../scripts/oss-complete-gate.mjs",
31
28
  "lint": "eslint src __tests__ --quiet --rule no-console:off --rule @typescript-eslint/no-unused-vars:off",
32
29
  "typecheck": "tsc --noEmit"
33
30
  }