@loomwork/compliance 0.0.0-stage → 0.1.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/LICENSE +202 -0
- package/NOTICE +8 -0
- package/README.md +87 -2
- package/dist/SubjectIndex.d.ts +48 -0
- package/dist/SubjectIndex.d.ts.map +1 -0
- package/dist/SubjectIndex.js +90 -0
- package/dist/SubjectIndex.js.map +1 -0
- package/dist/eraseSubject.d.ts +540 -0
- package/dist/eraseSubject.d.ts.map +1 -0
- package/dist/eraseSubject.js +1294 -0
- package/dist/eraseSubject.js.map +1 -0
- package/dist/exportSubject.d.ts +164 -0
- package/dist/exportSubject.d.ts.map +1 -0
- package/dist/exportSubject.js +143 -0
- package/dist/exportSubject.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -3
- package/src/SubjectIndex.ts +132 -0
- package/src/eraseSubject.ts +1780 -0
- package/src/exportSubject.ts +326 -0
- package/src/index.ts +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eraseSubject.js","sourceRoot":"","sources":["../src/eraseSubject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import type { EventEnvelope, ExecutionState } from "@loomwork/core";
|
|
2
|
+
import { type DestructionProof, type EventStore } from "@loomwork/event-runtime";
|
|
3
|
+
import type { SubjectIndex } from "./SubjectIndex";
|
|
4
|
+
/**
|
|
5
|
+
* A range of an execution's ORIGINAL log that neither the surviving log nor the compaction archive
|
|
6
|
+
* holds as events (structurally `LogLifecycle.archiveCoverage`'s `UnarchivedRange`). `"legacy"`:
|
|
7
|
+
* removed by a compaction that predates the archive; only its folded checkpoint remains
|
|
8
|
+
* (`legacyCheckpoints`, when the archive preserved it). `"missing"`: an archiving compaction removed
|
|
9
|
+
* it and no archive segment holds it now (a wiped, swapped or truncated archive).
|
|
10
|
+
*/
|
|
11
|
+
export interface UnarchivedRange {
|
|
12
|
+
readonly from: number;
|
|
13
|
+
readonly through: number;
|
|
14
|
+
readonly why: "legacy" | "missing";
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* ADR 0140 - one claim-checked tool output a subject's log cites, RESOLVED from the content store: the log
|
|
18
|
+
* holds only `{ ref, size, digest }`, so an access/portability export that returned the envelope alone
|
|
19
|
+
* would omit the data. `value` is the decoded JSON; `bytesBase64` a stream-typed (non-JSON) blob;
|
|
20
|
+
* `missing` a blob the store no longer holds (erased or reclaimed).
|
|
21
|
+
*/
|
|
22
|
+
export interface ClaimCheckedBlob {
|
|
23
|
+
/** The blob's content address. */
|
|
24
|
+
address: string;
|
|
25
|
+
size?: number;
|
|
26
|
+
digest?: unknown;
|
|
27
|
+
value?: unknown;
|
|
28
|
+
bytesBase64?: string;
|
|
29
|
+
missing?: true;
|
|
30
|
+
/**
|
|
31
|
+
* ADR 0143 D5/D8: the log CITES this address, but a sealing store could not prove the subject owns the
|
|
32
|
+
* blob (another subject's, absent, or corrupt): it is NOT the subject's data, so nothing of it (not even
|
|
33
|
+
* the cited size) is reported. Never present beside `value`/`bytesBase64`.
|
|
34
|
+
*/
|
|
35
|
+
foreign?: true;
|
|
36
|
+
}
|
|
37
|
+
/** One execution's contribution to a subject export. */
|
|
38
|
+
export interface SubjectExecutionExport {
|
|
39
|
+
executionId: string;
|
|
40
|
+
workflowId: string;
|
|
41
|
+
status: ExecutionState["status"];
|
|
42
|
+
/** Folded state — the Art. 15 "access" view (the current data held about the subject). */
|
|
43
|
+
state: ExecutionState;
|
|
44
|
+
/** Raw event log — the Art. 20 "portability" view (machine-readable). Omitted if not requested. */
|
|
45
|
+
events?: EventEnvelope[];
|
|
46
|
+
/**
|
|
47
|
+
* ADR 0140 - the claim-checked tool outputs this execution's events cite, resolved (see
|
|
48
|
+
* {@link ClaimCheckedBlob}). Present only when `content` was given and the log cites any.
|
|
49
|
+
*/
|
|
50
|
+
claimChecked?: ClaimCheckedBlob[];
|
|
51
|
+
/**
|
|
52
|
+
* ADR 0138 - checkpoints of a log compacted BEFORE the compaction archive existed (their removed
|
|
53
|
+
* events survive only as a folded state). Present only when such an execution is exported.
|
|
54
|
+
*/
|
|
55
|
+
legacyCheckpoints?: unknown[];
|
|
56
|
+
/**
|
|
57
|
+
* ADR 0139 - the reserved streams (inbox, topic streams, quarantine copies) of the chain this execution
|
|
58
|
+
* heads, with the envelopes (ids, timestamps, sender metadata) a trim or delete MOVED to the archive,
|
|
59
|
+
* and every range nothing can return. Present only when the archive holds such a stream.
|
|
60
|
+
*/
|
|
61
|
+
reservedStreams?: Array<{
|
|
62
|
+
streamId: string;
|
|
63
|
+
events: EventEnvelope[];
|
|
64
|
+
unarchived: UnarchivedRange[];
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* ADR 0138 - EVERY range of this execution's original log the export could not return as events
|
|
68
|
+
* (see {@link UnarchivedRange}); `[]` is a complete log. Present whenever an `archive` was given, so
|
|
69
|
+
* a data subject (or their processor) can see each gap instead of a silently shorter export. The
|
|
70
|
+
* `events` and `state` of an execution with a non-empty list are INCOMPLETE for those ranges.
|
|
71
|
+
* Absent only when the execution was read through the crypto-shred erasure window (its log is
|
|
72
|
+
* unreadable by design) or no archive was configured.
|
|
73
|
+
*/
|
|
74
|
+
unarchived?: UnarchivedRange[];
|
|
75
|
+
/**
|
|
76
|
+
* `true` when this execution was read through the crypto-shred erasure window (the key is
|
|
77
|
+
* destroyed, the tombstone not yet written): the export is the redacted view and `unarchived` is
|
|
78
|
+
* absent BECAUSE of that, not because the archive is complete.
|
|
79
|
+
*/
|
|
80
|
+
erasureWindow?: true;
|
|
81
|
+
}
|
|
82
|
+
/** A subject's full data export across every execution concerning them. */
|
|
83
|
+
export interface SubjectExport {
|
|
84
|
+
subjectId: string;
|
|
85
|
+
executions: SubjectExecutionExport[];
|
|
86
|
+
}
|
|
87
|
+
export interface ExportSubjectOptions {
|
|
88
|
+
index: SubjectIndex;
|
|
89
|
+
eventStore: Pick<EventStore, "read">;
|
|
90
|
+
/**
|
|
91
|
+
* ADR 0138 - the compaction archive's audit read (`LogLifecycle`). Compaction MOVES events out of the
|
|
92
|
+
* log into the archive, and an Art. 15/20 export that read only the surviving log would omit the
|
|
93
|
+
* subject's data and fold a compacted log wrongly. Given this, each execution is read as
|
|
94
|
+
* `archive ∪ log` (and folded from that). A range only a pre-archive checkpoint remembers is
|
|
95
|
+
* returned in `legacyCheckpoints`, and every range the archive and log together cannot show is
|
|
96
|
+
* listed in each execution's `unarchived` (never silently dropped).
|
|
97
|
+
*/
|
|
98
|
+
archive?: {
|
|
99
|
+
archiveCoverage(executionId: string): Promise<{
|
|
100
|
+
readonly unarchived: readonly UnarchivedRange[];
|
|
101
|
+
}>;
|
|
102
|
+
readWithArchive(executionId: string, opts?: {
|
|
103
|
+
readonly allowIncomplete?: boolean;
|
|
104
|
+
}): Promise<EventEnvelope[]>;
|
|
105
|
+
readLegacyCheckpoints?(executionId: string): Promise<unknown[]>;
|
|
106
|
+
/**
|
|
107
|
+
* ADR 0139 - the reserved streams of the chain this execution heads (inbox, topic streams,
|
|
108
|
+
* quarantine copies) with the envelopes a trim or delete MOVED to the archive, and every range
|
|
109
|
+
* nothing can return. `LogLifecycle.readReservedArchive`.
|
|
110
|
+
*/
|
|
111
|
+
readReservedArchive?(executionId: string): Promise<Array<{
|
|
112
|
+
streamId: string;
|
|
113
|
+
events: EventEnvelope[];
|
|
114
|
+
unarchived: readonly UnarchivedRange[];
|
|
115
|
+
}>>;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* ADR 0140 - the content store claim-checked tool outputs were offloaded to. Given, each execution's
|
|
119
|
+
* export resolves the blobs its events cite (`claimChecked`), so the export is the data, not just refs.
|
|
120
|
+
*/
|
|
121
|
+
content?: {
|
|
122
|
+
get(ref: {
|
|
123
|
+
__loomContent: string;
|
|
124
|
+
}, access?: {
|
|
125
|
+
executionId: string;
|
|
126
|
+
workflowId: string;
|
|
127
|
+
}): Promise<Uint8Array | null>;
|
|
128
|
+
/** A sealing store's ownership proof (ADR 0143 D5): asked before a cited blob is opened. */
|
|
129
|
+
ownedBy?(ref: {
|
|
130
|
+
__loomContent: string;
|
|
131
|
+
}, access: {
|
|
132
|
+
executionId: string;
|
|
133
|
+
workflowId: string;
|
|
134
|
+
}): Promise<boolean>;
|
|
135
|
+
};
|
|
136
|
+
/** Include the raw event log per execution (Art. 20 portability). Default `true`. */
|
|
137
|
+
includeEvents?: boolean;
|
|
138
|
+
/** T3-R2.4 — scope the export to a tenant (default: the single partition). */
|
|
139
|
+
tenant?: string;
|
|
140
|
+
/**
|
|
141
|
+
* ADR 0130 D7 (round 5) - proof that the key store destroyed the subject's key
|
|
142
|
+
* (`(s) => keys.wasDestroyed(s)`). A PROOF function only: returning `true` for a key that was
|
|
143
|
+
* NOT destroyed in the authoritative store produces a false erasure view, so never stub it (use
|
|
144
|
+
* the per-call {@link ExportSubjectOptions.force} for the operator's assertion). Without it, a stream whose key is unavailable is
|
|
145
|
+
* REFUSED (`KeyUnavailableError`) even if the log records an erase intent: a dangling intent
|
|
146
|
+
* (the key still lives elsewhere) is not an erasure.
|
|
147
|
+
*/
|
|
148
|
+
destroyed?: DestructionProof;
|
|
149
|
+
/**
|
|
150
|
+
* ADR 0130 D7 (round 6) - OPERATOR OVERRIDE, per call (mirrors `ShredOptions.force`): asserts the
|
|
151
|
+
* key was destroyed in the authoritative key store, for a store that cannot prove it. A wrong
|
|
152
|
+
* assertion exports a redacted view of a subject whose key lives on.
|
|
153
|
+
*/
|
|
154
|
+
force?: "key-destroyed-elsewhere";
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Assemble a data-subject export (Art. 15 access + Art. 20 portability): every execution the
|
|
158
|
+
* {@link SubjectIndex} attributes to `subjectId` (within `tenant`), each folded to its current
|
|
159
|
+
* state and (by default) accompanied by its raw log. Executions are emitted in the index's
|
|
160
|
+
* deterministic (sorted) order. An unknown subject yields an empty `executions` array — not an
|
|
161
|
+
* error. Scoping to a tenant is what keeps one tenant's `"alice"` out of another's export.
|
|
162
|
+
*/
|
|
163
|
+
export declare function exportSubject(subjectId: string, options: ExportSubjectOptions): Promise<SubjectExport>;
|
|
164
|
+
//# sourceMappingURL=exportSubject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exportSubject.d.ts","sourceRoot":"","sources":["../src/exportSubject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exportSubject = exportSubject;
|
|
4
|
+
const event_runtime_1 = require("@loomwork/event-runtime");
|
|
5
|
+
const replay_vm_1 = require("@loomwork/replay-vm");
|
|
6
|
+
const eraseSubject_1 = require("./eraseSubject");
|
|
7
|
+
/**
|
|
8
|
+
* Assemble a data-subject export (Art. 15 access + Art. 20 portability): every execution the
|
|
9
|
+
* {@link SubjectIndex} attributes to `subjectId` (within `tenant`), each folded to its current
|
|
10
|
+
* state and (by default) accompanied by its raw log. Executions are emitted in the index's
|
|
11
|
+
* deterministic (sorted) order. An unknown subject yields an empty `executions` array — not an
|
|
12
|
+
* error. Scoping to a tenant is what keeps one tenant's `"alice"` out of another's export.
|
|
13
|
+
*/
|
|
14
|
+
async function exportSubject(subjectId, options) {
|
|
15
|
+
const includeEvents = options.includeEvents ?? true;
|
|
16
|
+
const executionIds = options.index.executionsOf(subjectId, options.tenant);
|
|
17
|
+
const executions = [];
|
|
18
|
+
for (const executionId of executionIds) {
|
|
19
|
+
let events;
|
|
20
|
+
let unarchived;
|
|
21
|
+
let erasureWindow = false;
|
|
22
|
+
try {
|
|
23
|
+
events =
|
|
24
|
+
options.archive !== undefined
|
|
25
|
+
? await options.archive.readWithArchive(executionId, { allowIncomplete: true })
|
|
26
|
+
: await options.eventStore.read(executionId);
|
|
27
|
+
if (options.archive !== undefined) {
|
|
28
|
+
unarchived = [...(await options.archive.archiveCoverage(executionId)).unarchived];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
// The ShredIncomplete window (key destroyed, tombstone not yet written): the redacted view,
|
|
33
|
+
// only with the log's durable erase intent. A node that lacks the key is not an erasure.
|
|
34
|
+
const window = await (0, event_runtime_1.erasureWindowView)(err, options.force === "key-destroyed-elsewhere" ? () => true : options.destroyed);
|
|
35
|
+
if (window === undefined)
|
|
36
|
+
throw err;
|
|
37
|
+
events = [...window];
|
|
38
|
+
erasureWindow = true;
|
|
39
|
+
unarchived = undefined;
|
|
40
|
+
}
|
|
41
|
+
if (events.length === 0)
|
|
42
|
+
continue; // deleted (retention) — nothing left to export
|
|
43
|
+
// Seed the fold with identity — foldEvents takes executionId/workflowId from `initial`,
|
|
44
|
+
// not the events, so an unseeded fold would carry empty identity fields.
|
|
45
|
+
const workflowId = events[0]?.workflowId ?? "";
|
|
46
|
+
const state = (0, replay_vm_1.foldEvents)(events, { executionId, workflowId });
|
|
47
|
+
const legacy = (await options.archive?.readLegacyCheckpoints?.(executionId)) ?? [];
|
|
48
|
+
// (not through the erasure window: the log is unreadable by design there)
|
|
49
|
+
const reserved = erasureWindow
|
|
50
|
+
? []
|
|
51
|
+
: ((await options.archive?.readReservedArchive?.(executionId)) ?? []);
|
|
52
|
+
const claimChecked = options.content === undefined
|
|
53
|
+
? []
|
|
54
|
+
: await resolveBlobs(options.content, events, { executionId, workflowId });
|
|
55
|
+
executions.push({
|
|
56
|
+
executionId,
|
|
57
|
+
workflowId,
|
|
58
|
+
status: state.status,
|
|
59
|
+
state,
|
|
60
|
+
...(includeEvents && { events }),
|
|
61
|
+
...(claimChecked.length > 0 && { claimChecked }),
|
|
62
|
+
...(legacy.length > 0 && { legacyCheckpoints: legacy }),
|
|
63
|
+
...(reserved.length > 0 && {
|
|
64
|
+
reservedStreams: reserved.map((r) => ({ ...r, unarchived: [...r.unarchived] })),
|
|
65
|
+
}),
|
|
66
|
+
...(unarchived !== undefined && { unarchived }),
|
|
67
|
+
...(erasureWindow && { erasureWindow: true }),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return { subjectId, executions };
|
|
71
|
+
}
|
|
72
|
+
/** Resolve every claim-check envelope the events cite (deduped by address), in first-seen order. */
|
|
73
|
+
async function resolveBlobs(content, events,
|
|
74
|
+
// ADR 0143: the execution the blobs belong to, so a store that seals per subject opens them with its key.
|
|
75
|
+
access) {
|
|
76
|
+
const meta = new Map();
|
|
77
|
+
for (const e of events)
|
|
78
|
+
collectEnvelopes(e.payload, meta);
|
|
79
|
+
const out = [];
|
|
80
|
+
for (const [address, m] of meta) {
|
|
81
|
+
let bytes;
|
|
82
|
+
try {
|
|
83
|
+
// A log may CITE a blob it never put (an input, a resume payload, a child's result): over a sealing
|
|
84
|
+
// store the subject must PROVE ownership before the blob is opened or reported as theirs.
|
|
85
|
+
if (typeof content.ownedBy === "function" &&
|
|
86
|
+
!(await content.ownedBy({ __loomContent: address }, access))) {
|
|
87
|
+
out.push({ address, foreign: true });
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
bytes = await content.get({ __loomContent: address }, access);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
// A sealed blob whose subject key was destroyed is ERASED (the redacted view shows it as missing);
|
|
94
|
+
// a key merely absent from this node, or an unopenable OWNED blob, stays loud: never garbage, never a lie.
|
|
95
|
+
if (!(0, event_runtime_1.isPayloadShredded)(err))
|
|
96
|
+
throw err;
|
|
97
|
+
bytes = null;
|
|
98
|
+
}
|
|
99
|
+
const base = {
|
|
100
|
+
address,
|
|
101
|
+
...(m.size !== undefined && { size: m.size }),
|
|
102
|
+
...(m.digest !== undefined && { digest: m.digest }),
|
|
103
|
+
};
|
|
104
|
+
if (bytes === null) {
|
|
105
|
+
out.push({ ...base, missing: true });
|
|
106
|
+
}
|
|
107
|
+
else if (m.codec === undefined || m.codec === "json") {
|
|
108
|
+
out.push({ ...base, value: JSON.parse(new TextDecoder().decode(bytes)) });
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
out.push({ ...base, bytesBase64: Buffer.from(bytes).toString("base64") });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return out;
|
|
115
|
+
}
|
|
116
|
+
function collectEnvelopes(value, into) {
|
|
117
|
+
const addresses = (0, eraseSubject_1.claimCheckRefsOf)(value);
|
|
118
|
+
if (addresses.size === 0)
|
|
119
|
+
return;
|
|
120
|
+
const stack = [value];
|
|
121
|
+
const seen = new WeakSet();
|
|
122
|
+
while (stack.length > 0) {
|
|
123
|
+
const cur = stack.pop();
|
|
124
|
+
if (typeof cur !== "object" || cur === null || seen.has(cur))
|
|
125
|
+
continue;
|
|
126
|
+
seen.add(cur);
|
|
127
|
+
const env = cur;
|
|
128
|
+
const address = env.__loomClaimCheck === true ? env.ref?.__loomContent : undefined;
|
|
129
|
+
if (typeof address === "string" && !into.has(address)) {
|
|
130
|
+
into.set(address, {
|
|
131
|
+
...(typeof env.size === "number" && { size: env.size }),
|
|
132
|
+
...(env.digest !== undefined && { digest: env.digest }),
|
|
133
|
+
...(typeof env.codec === "string" && { codec: env.codec }),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
for (const [k, item] of Object.entries(cur)) {
|
|
137
|
+
if (typeof address === "string" && k === "ref")
|
|
138
|
+
continue;
|
|
139
|
+
stack.push(item);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=exportSubject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exportSubject.js","sourceRoot":"","sources":["../src/exportSubject.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { DEFAULT_TENANT, SubjectIndex, type SubjectIndexOptions, type SubjectResolver, type TenantResolver, } from "./SubjectIndex";
|
|
2
|
+
export { exportSubject, type ExportSubjectOptions, type ClaimCheckedBlob, type SubjectExecutionExport, type SubjectExport, type UnarchivedRange, } from "./exportSubject";
|
|
3
|
+
export { ArchivedCopiesRemainError, ContentCopiesRemainError, ControlStreamKeyError, claimCheckRefsOf, trustedClaimCheckRefsOf, SenderRedactionUnsupportedError, defaultSenderMatches, EraseCoordinator, ERASURE_STREAM, type ArchivedCopiesDeleted, type ContentCopiesDeleted, type ErasableContent, type EraseCoordinatorOptions, type ErasableArchive, type SenderMatcher, type SenderRedaction, type EraseSubjectOptions, type EraseSubjectResult, type Shredder, } from "./eraseSubject";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,+BAA+B,EAC/B,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,GACd,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERASURE_STREAM = exports.EraseCoordinator = exports.defaultSenderMatches = exports.SenderRedactionUnsupportedError = exports.trustedClaimCheckRefsOf = exports.claimCheckRefsOf = exports.ControlStreamKeyError = exports.ContentCopiesRemainError = exports.ArchivedCopiesRemainError = exports.exportSubject = exports.SubjectIndex = exports.DEFAULT_TENANT = void 0;
|
|
4
|
+
var SubjectIndex_1 = require("./SubjectIndex");
|
|
5
|
+
Object.defineProperty(exports, "DEFAULT_TENANT", { enumerable: true, get: function () { return SubjectIndex_1.DEFAULT_TENANT; } });
|
|
6
|
+
Object.defineProperty(exports, "SubjectIndex", { enumerable: true, get: function () { return SubjectIndex_1.SubjectIndex; } });
|
|
7
|
+
var exportSubject_1 = require("./exportSubject");
|
|
8
|
+
Object.defineProperty(exports, "exportSubject", { enumerable: true, get: function () { return exportSubject_1.exportSubject; } });
|
|
9
|
+
var eraseSubject_1 = require("./eraseSubject");
|
|
10
|
+
Object.defineProperty(exports, "ArchivedCopiesRemainError", { enumerable: true, get: function () { return eraseSubject_1.ArchivedCopiesRemainError; } });
|
|
11
|
+
Object.defineProperty(exports, "ContentCopiesRemainError", { enumerable: true, get: function () { return eraseSubject_1.ContentCopiesRemainError; } });
|
|
12
|
+
Object.defineProperty(exports, "ControlStreamKeyError", { enumerable: true, get: function () { return eraseSubject_1.ControlStreamKeyError; } });
|
|
13
|
+
Object.defineProperty(exports, "claimCheckRefsOf", { enumerable: true, get: function () { return eraseSubject_1.claimCheckRefsOf; } });
|
|
14
|
+
Object.defineProperty(exports, "trustedClaimCheckRefsOf", { enumerable: true, get: function () { return eraseSubject_1.trustedClaimCheckRefsOf; } });
|
|
15
|
+
Object.defineProperty(exports, "SenderRedactionUnsupportedError", { enumerable: true, get: function () { return eraseSubject_1.SenderRedactionUnsupportedError; } });
|
|
16
|
+
Object.defineProperty(exports, "defaultSenderMatches", { enumerable: true, get: function () { return eraseSubject_1.defaultSenderMatches; } });
|
|
17
|
+
Object.defineProperty(exports, "EraseCoordinator", { enumerable: true, get: function () { return eraseSubject_1.EraseCoordinator; } });
|
|
18
|
+
Object.defineProperty(exports, "ERASURE_STREAM", { enumerable: true, get: function () { return eraseSubject_1.ERASURE_STREAM; } });
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAMwB;AALtB,8GAAA,cAAc,OAAA;AACd,4GAAA,YAAY,OAAA;AAKd,iDAOyB;AANvB,8GAAA,aAAa,OAAA;AAOf,+CAoBwB;AAnBtB,yHAAA,yBAAyB,OAAA;AACzB,wHAAA,wBAAwB,OAAA;AACxB,qHAAA,qBAAqB,OAAA;AACrB,gHAAA,gBAAgB,OAAA;AAChB,uHAAA,uBAAuB,OAAA;AACvB,+HAAA,+BAA+B,OAAA;AAC/B,oHAAA,oBAAoB,OAAA;AACpB,gHAAA,gBAAgB,OAAA;AAChB,8GAAA,cAAc,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,57 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loomwork/compliance",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Data-subject rights for Loom (T3, GDPR/CCPA-enabling) — a subject index (subjectId → executions) fed by the event stream, exportSubject for Art. 15/20 access + portability, and eraseSubject for Art. 17 erasure (crypto-shredding, plus deletion of archived copies). Event-sourcing makes these a fold; this productizes that. Not legal advice.",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"require": "./dist/index.js",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@loomwork/core": "^0.1.0",
|
|
16
|
+
"@loomwork/replay-vm": "^0.1.0",
|
|
17
|
+
"@loomwork/snapshot-runtime": "^0.1.0",
|
|
18
|
+
"@loomwork/event-runtime": "^0.1.0"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/node": "^22.0.0",
|
|
22
|
+
"typescript": "^5.6.3",
|
|
23
|
+
"vitest": "^2.1.8"
|
|
24
|
+
},
|
|
25
|
+
"license": "Apache-2.0",
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git+https://github.com/chhetrisushil/loom.git",
|
|
29
|
+
"directory": "packages/compliance"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"src",
|
|
34
|
+
"!src/**/*.test.ts",
|
|
35
|
+
"!src/**/*.test.tsx",
|
|
36
|
+
"!src/**/__tests__",
|
|
37
|
+
"!src/**/__fixtures__",
|
|
38
|
+
"!src/**/__snapshots__",
|
|
39
|
+
"!src/**/__golden__",
|
|
40
|
+
"LICENSE",
|
|
41
|
+
"NOTICE"
|
|
42
|
+
],
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public",
|
|
45
|
+
"tag": "next"
|
|
46
|
+
},
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=20.0.0"
|
|
49
|
+
},
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "tsc --build",
|
|
52
|
+
"dev": "tsc --build --watch",
|
|
53
|
+
"test": "vitest run",
|
|
54
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
55
|
+
"typecheck:tests": "tsc -p tsconfig.test.json"
|
|
56
|
+
}
|
|
6
57
|
}
|