@x12i/memorix-service 3.3.0 → 3.6.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.
Files changed (133) hide show
  1. package/README.md +23 -6
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +10 -0
  4. package/dist/app.js.map +1 -1
  5. package/dist/blob-store/config.d.ts +31 -0
  6. package/dist/blob-store/config.d.ts.map +1 -0
  7. package/dist/blob-store/config.js +68 -0
  8. package/dist/blob-store/config.js.map +1 -0
  9. package/dist/blob-store/disk.d.ts +10 -0
  10. package/dist/blob-store/disk.d.ts.map +1 -0
  11. package/dist/blob-store/disk.js +104 -0
  12. package/dist/blob-store/disk.js.map +1 -0
  13. package/dist/blob-store/index.d.ts +6 -0
  14. package/dist/blob-store/index.d.ts.map +1 -0
  15. package/dist/blob-store/index.js +6 -0
  16. package/dist/blob-store/index.js.map +1 -0
  17. package/dist/blob-store/memory.d.ts +4 -0
  18. package/dist/blob-store/memory.d.ts.map +1 -0
  19. package/dist/blob-store/memory.js +47 -0
  20. package/dist/blob-store/memory.js.map +1 -0
  21. package/dist/blob-store/s3.d.ts +52 -0
  22. package/dist/blob-store/s3.d.ts.map +1 -0
  23. package/dist/blob-store/s3.js +151 -0
  24. package/dist/blob-store/s3.js.map +1 -0
  25. package/dist/blob-store/types.d.ts +30 -0
  26. package/dist/blob-store/types.d.ts.map +1 -0
  27. package/dist/blob-store/types.js +38 -0
  28. package/dist/blob-store/types.js.map +1 -0
  29. package/dist/catalog-store-cli.d.ts.map +1 -1
  30. package/dist/catalog-store-cli.js +35 -4
  31. package/dist/catalog-store-cli.js.map +1 -1
  32. package/dist/connector-ops/checkpoint-store.d.ts +7 -0
  33. package/dist/connector-ops/checkpoint-store.d.ts.map +1 -0
  34. package/dist/connector-ops/checkpoint-store.js +135 -0
  35. package/dist/connector-ops/checkpoint-store.js.map +1 -0
  36. package/dist/connector-ops/checkpoint-types.d.ts +46 -0
  37. package/dist/connector-ops/checkpoint-types.d.ts.map +1 -0
  38. package/dist/connector-ops/checkpoint-types.js +14 -0
  39. package/dist/connector-ops/checkpoint-types.js.map +1 -0
  40. package/dist/connector-ops/continuous-types.d.ts +141 -0
  41. package/dist/connector-ops/continuous-types.d.ts.map +1 -0
  42. package/dist/connector-ops/continuous-types.js +13 -0
  43. package/dist/connector-ops/continuous-types.js.map +1 -0
  44. package/dist/connector-ops/coordinator.d.ts +88 -0
  45. package/dist/connector-ops/coordinator.d.ts.map +1 -0
  46. package/dist/connector-ops/coordinator.js +174 -0
  47. package/dist/connector-ops/coordinator.js.map +1 -0
  48. package/dist/connector-ops/index.d.ts +6 -0
  49. package/dist/connector-ops/index.d.ts.map +1 -1
  50. package/dist/connector-ops/index.js +6 -0
  51. package/dist/connector-ops/index.js.map +1 -1
  52. package/dist/connector-ops/run-store.d.ts +16 -0
  53. package/dist/connector-ops/run-store.d.ts.map +1 -0
  54. package/dist/connector-ops/run-store.js +249 -0
  55. package/dist/connector-ops/run-store.js.map +1 -0
  56. package/dist/connector-ops/schedule-lease-store.d.ts +8 -0
  57. package/dist/connector-ops/schedule-lease-store.d.ts.map +1 -0
  58. package/dist/connector-ops/schedule-lease-store.js +318 -0
  59. package/dist/connector-ops/schedule-lease-store.js.map +1 -0
  60. package/dist/incremental-state/index.d.ts +3 -0
  61. package/dist/incremental-state/index.d.ts.map +1 -0
  62. package/dist/incremental-state/index.js +3 -0
  63. package/dist/incremental-state/index.js.map +1 -0
  64. package/dist/incremental-state/state-store.d.ts +7 -0
  65. package/dist/incremental-state/state-store.d.ts.map +1 -0
  66. package/dist/incremental-state/state-store.js +183 -0
  67. package/dist/incremental-state/state-store.js.map +1 -0
  68. package/dist/incremental-state/types.d.ts +104 -0
  69. package/dist/incremental-state/types.d.ts.map +1 -0
  70. package/dist/incremental-state/types.js +8 -0
  71. package/dist/incremental-state/types.js.map +1 -0
  72. package/dist/index.d.ts +3 -0
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +3 -0
  75. package/dist/index.js.map +1 -1
  76. package/dist/integrations/index.d.ts +3 -0
  77. package/dist/integrations/index.d.ts.map +1 -0
  78. package/dist/integrations/index.js +3 -0
  79. package/dist/integrations/index.js.map +1 -0
  80. package/dist/integrations/instance-store.d.ts +5 -0
  81. package/dist/integrations/instance-store.d.ts.map +1 -0
  82. package/dist/integrations/instance-store.js +327 -0
  83. package/dist/integrations/instance-store.js.map +1 -0
  84. package/dist/integrations/types.d.ts +92 -0
  85. package/dist/integrations/types.d.ts.map +1 -0
  86. package/dist/integrations/types.js +40 -0
  87. package/dist/integrations/types.js.map +1 -0
  88. package/dist/magit/magit-pack-service.d.ts +187 -3
  89. package/dist/magit/magit-pack-service.d.ts.map +1 -1
  90. package/dist/magit/magit-pack-service.js +401 -8
  91. package/dist/magit/magit-pack-service.js.map +1 -1
  92. package/dist/openapi/openapi.json +1348 -2
  93. package/dist/platform.d.ts +44 -1
  94. package/dist/platform.d.ts.map +1 -1
  95. package/dist/platform.js +172 -1
  96. package/dist/platform.js.map +1 -1
  97. package/dist/restricted-store/crypto.d.ts +10 -0
  98. package/dist/restricted-store/crypto.d.ts.map +1 -0
  99. package/dist/restricted-store/crypto.js +43 -0
  100. package/dist/restricted-store/crypto.js.map +1 -0
  101. package/dist/restricted-store/index.d.ts +4 -0
  102. package/dist/restricted-store/index.d.ts.map +1 -0
  103. package/dist/restricted-store/index.js +4 -0
  104. package/dist/restricted-store/index.js.map +1 -0
  105. package/dist/restricted-store/object-store.d.ts +12 -0
  106. package/dist/restricted-store/object-store.d.ts.map +1 -0
  107. package/dist/restricted-store/object-store.js +233 -0
  108. package/dist/restricted-store/object-store.js.map +1 -0
  109. package/dist/restricted-store/types.d.ts +78 -0
  110. package/dist/restricted-store/types.d.ts.map +1 -0
  111. package/dist/restricted-store/types.js +12 -0
  112. package/dist/restricted-store/types.js.map +1 -0
  113. package/dist/routes/continuous-acquisition.d.ts +5 -0
  114. package/dist/routes/continuous-acquisition.d.ts.map +1 -0
  115. package/dist/routes/continuous-acquisition.js +259 -0
  116. package/dist/routes/continuous-acquisition.js.map +1 -0
  117. package/dist/routes/incremental-state.d.ts +5 -0
  118. package/dist/routes/incremental-state.d.ts.map +1 -0
  119. package/dist/routes/incremental-state.js +173 -0
  120. package/dist/routes/incremental-state.js.map +1 -0
  121. package/dist/routes/integrations.d.ts +5 -0
  122. package/dist/routes/integrations.d.ts.map +1 -0
  123. package/dist/routes/integrations.js +126 -0
  124. package/dist/routes/integrations.js.map +1 -0
  125. package/dist/routes/metadata.d.ts.map +1 -1
  126. package/dist/routes/metadata.js +328 -4
  127. package/dist/routes/metadata.js.map +1 -1
  128. package/dist/routes/restricted-store.d.ts +5 -0
  129. package/dist/routes/restricted-store.d.ts.map +1 -0
  130. package/dist/routes/restricted-store.js +117 -0
  131. package/dist/routes/restricted-store.js.map +1 -0
  132. package/openapi/openapi.json +1348 -2
  133. package/package.json +3 -2
@@ -0,0 +1,183 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { ServiceError } from "../errors.js";
3
+ import { INC_COLLECTIONS, } from "./types.js";
4
+ function operationalDbName(orgId) {
5
+ return `${orgId}_operational`;
6
+ }
7
+ function sha256Hex(buf) {
8
+ return createHash("sha256").update(buf).digest("hex");
9
+ }
10
+ function nextEtag(version) {
11
+ return `W/"inc-${version}-${randomUUID().slice(0, 8)}"`;
12
+ }
13
+ function stripMongo(doc) {
14
+ const { _id: _drop, ...rest } = doc;
15
+ return rest;
16
+ }
17
+ function createCore(orgId, blobs, meta) {
18
+ return {
19
+ async get(instanceId, scopeKey) {
20
+ return meta.get(instanceId, scopeKey);
21
+ },
22
+ async getContent(instanceId, scopeKey) {
23
+ const m = await meta.get(instanceId, scopeKey);
24
+ if (!m?.blobKey)
25
+ return null;
26
+ const body = await blobs.get(orgId, m.blobKey);
27
+ if (!body)
28
+ return null;
29
+ return { meta: m, body };
30
+ },
31
+ async casPublish(instanceId, scopeKey, input) {
32
+ if (!input.bodyBase64?.trim()) {
33
+ throw new ServiceError("VALIDATION_ERROR", "bodyBase64 required", 400);
34
+ }
35
+ let plain;
36
+ try {
37
+ plain = Buffer.from(input.bodyBase64, "base64");
38
+ }
39
+ catch {
40
+ throw new ServiceError("VALIDATION_ERROR", "bodyBase64 invalid", 400);
41
+ }
42
+ if (plain.byteLength === 0) {
43
+ throw new ServiceError("VALIDATION_ERROR", "body empty", 400);
44
+ }
45
+ const current = await meta.get(instanceId, scopeKey);
46
+ const currentVersion = current?.baseVersion ?? 0;
47
+ if (currentVersion !== input.expectedBaseVersion) {
48
+ throw new ServiceError("BASE_VERSION_CONFLICT", `stale baseVersion: expected ${input.expectedBaseVersion}, got ${currentVersion}`, 409, { currentVersion, etag: current?.etag });
49
+ }
50
+ if (input.incomplete === true || input.shrinkGuardFailed === true) {
51
+ // Persist flags but still allow publish of snapshot; removals are
52
+ // worker-side. Memorix records the incomplete/shrink markers.
53
+ }
54
+ const contentHash = input.contentHash?.trim() || sha256Hex(plain);
55
+ const artifactRef = current?.artifactRef ??
56
+ `inc_${randomUUID().replace(/-/g, "").slice(0, 24)}`;
57
+ const blobKey = `incremental/${instanceId}/${scopeKey}/${artifactRef}`;
58
+ await blobs.put(orgId, blobKey, plain, {
59
+ contentType: input.contentType ?? "application/json",
60
+ });
61
+ const nextVersion = currentVersion + 1;
62
+ const now = new Date().toISOString();
63
+ const doc = {
64
+ orgId,
65
+ instanceId,
66
+ scopeKey,
67
+ baseVersion: nextVersion,
68
+ etag: nextEtag(nextVersion),
69
+ artifactRef,
70
+ contentHash,
71
+ updatedAt: now,
72
+ producerRunId: input.producerRunId,
73
+ incomplete: input.incomplete === true,
74
+ shrinkGuardFailed: input.shrinkGuardFailed === true,
75
+ tombstones: input.tombstones ?? [],
76
+ contentType: input.contentType ?? "application/json",
77
+ sizeBytes: plain.byteLength,
78
+ blobKey,
79
+ blobBackend: blobs.backend,
80
+ };
81
+ await meta.upsert(doc);
82
+ return doc;
83
+ },
84
+ async listApplyLedger(instanceId, scopeKey, opts) {
85
+ return meta.listLedger(instanceId, scopeKey, opts?.limit ?? 50);
86
+ },
87
+ async getApplyByRunId(instanceId, scopeKey, runId) {
88
+ return meta.getLedgerByRun(instanceId, scopeKey, runId);
89
+ },
90
+ async recordApply(entry) {
91
+ await meta.insertLedger(entry);
92
+ return entry;
93
+ },
94
+ };
95
+ }
96
+ export function createInMemoryIncrementalStateStore(orgId, blobs) {
97
+ const refs = new Map();
98
+ const ledger = [];
99
+ const key = (instanceId, scopeKey) => `${instanceId}\0${scopeKey}`;
100
+ return createCore(orgId, blobs, {
101
+ async get(instanceId, scopeKey) {
102
+ const doc = refs.get(key(instanceId, scopeKey));
103
+ return doc ? { ...doc } : null;
104
+ },
105
+ async upsert(doc) {
106
+ refs.set(key(doc.instanceId, doc.scopeKey), { ...doc });
107
+ },
108
+ async insertLedger(entry) {
109
+ ledger.unshift({ ...entry });
110
+ },
111
+ async listLedger(instanceId, scopeKey, limit) {
112
+ return ledger
113
+ .filter((e) => e.instanceId === instanceId && e.scopeKey === scopeKey)
114
+ .slice(0, limit)
115
+ .map((e) => ({ ...e }));
116
+ },
117
+ async getLedgerByRun(instanceId, scopeKey, runId) {
118
+ const e = ledger.find((x) => x.instanceId === instanceId &&
119
+ x.scopeKey === scopeKey &&
120
+ x.runId === runId);
121
+ return e ? { ...e } : null;
122
+ },
123
+ });
124
+ }
125
+ export function createMongoIncrementalStateStore(client, orgId, blobs) {
126
+ const db = client.db(operationalDbName(orgId));
127
+ const stateCol = () => db.collection(INC_COLLECTIONS.state);
128
+ const ledgerCol = () => db.collection(INC_COLLECTIONS.applyLedger);
129
+ let indexesReady = null;
130
+ const ensureIndexes = async () => {
131
+ if (!indexesReady) {
132
+ indexesReady = (async () => {
133
+ await stateCol().createIndex({ instanceId: 1, scopeKey: 1 }, { unique: true, name: "inc_state_unique" });
134
+ await ledgerCol().createIndex({ instanceId: 1, scopeKey: 1, runId: 1 }, { unique: true, name: "inc_apply_run_unique" });
135
+ await ledgerCol().createIndex({ instanceId: 1, scopeKey: 1, at: -1 }, { name: "inc_apply_at" });
136
+ })();
137
+ }
138
+ await indexesReady;
139
+ };
140
+ return createCore(orgId, blobs, {
141
+ async get(instanceId, scopeKey) {
142
+ await ensureIndexes();
143
+ const doc = await stateCol().findOne({ instanceId, scopeKey });
144
+ return doc ? stripMongo(doc) : null;
145
+ },
146
+ async upsert(doc) {
147
+ await ensureIndexes();
148
+ await stateCol().replaceOne({ instanceId: doc.instanceId, scopeKey: doc.scopeKey }, doc, { upsert: true });
149
+ },
150
+ async insertLedger(entry) {
151
+ await ensureIndexes();
152
+ try {
153
+ await ledgerCol().insertOne(entry);
154
+ }
155
+ catch (err) {
156
+ const code = err && typeof err === "object" && "code" in err
157
+ ? err.code
158
+ : undefined;
159
+ if (code === 11000) {
160
+ // idempotent replay
161
+ return;
162
+ }
163
+ throw err;
164
+ }
165
+ },
166
+ async listLedger(instanceId, scopeKey, limit) {
167
+ await ensureIndexes();
168
+ const rows = await ledgerCol()
169
+ .find({ instanceId, scopeKey })
170
+ .sort({ at: -1 })
171
+ .limit(limit)
172
+ .toArray();
173
+ return rows.map(stripMongo);
174
+ },
175
+ async getLedgerByRun(instanceId, scopeKey, runId) {
176
+ await ensureIndexes();
177
+ const doc = await ledgerCol().findOne({ instanceId, scopeKey, runId });
178
+ return doc ? stripMongo(doc) : null;
179
+ },
180
+ });
181
+ }
182
+ export * from "./types.js";
183
+ //# sourceMappingURL=state-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-store.js","sourceRoot":"","sources":["../../src/incremental-state/state-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * MX-INC-01 versioned incremental state refs + CAS publish + apply-commit.
3
+ */
4
+ export type IncrementalTombstone = {
5
+ entityId: string;
6
+ graceUntil: string;
7
+ };
8
+ export type IncrementalStateRef = {
9
+ orgId: string;
10
+ instanceId: string;
11
+ scopeKey: string;
12
+ /** Writer CAS precondition / current version. */
13
+ baseVersion: number;
14
+ etag: string;
15
+ artifactRef: string;
16
+ contentHash?: string;
17
+ updatedAt: string;
18
+ producerRunId?: string;
19
+ incomplete?: boolean;
20
+ shrinkGuardFailed?: boolean;
21
+ tombstones?: IncrementalTombstone[];
22
+ contentType?: string;
23
+ sizeBytes?: number;
24
+ blobKey?: string;
25
+ blobBackend?: string;
26
+ };
27
+ export type CasPublishInput = {
28
+ expectedBaseVersion: number;
29
+ bodyBase64: string;
30
+ contentType?: string;
31
+ contentHash?: string;
32
+ producerRunId?: string;
33
+ incomplete?: boolean;
34
+ shrinkGuardFailed?: boolean;
35
+ tombstones?: IncrementalTombstone[];
36
+ };
37
+ export type ApplyCommitCheckpoint = {
38
+ connectorId: string;
39
+ instanceId: string;
40
+ streamId: string;
41
+ method: "watermark" | "revision" | "fullScanHash" | "cursor";
42
+ watermark?: string | number | null;
43
+ revision?: string | number | null;
44
+ fullScanHash?: string | null;
45
+ cursor?: string | null;
46
+ contentHash?: string | null;
47
+ expectedCheckpointRevision?: number;
48
+ };
49
+ export type ApplyCommitInput = {
50
+ runId: string;
51
+ expectedBaseVersion: number;
52
+ bodyBase64: string;
53
+ contentType?: string;
54
+ contentHash?: string;
55
+ incomplete?: boolean;
56
+ shrinkGuardFailed?: boolean;
57
+ tombstones?: IncrementalTombstone[];
58
+ /** Stream checkpoint to advance only after CAS publish succeeds. */
59
+ checkpoint: ApplyCommitCheckpoint;
60
+ };
61
+ export type ApplyCommitResult = {
62
+ state: IncrementalStateRef;
63
+ checkpoint: {
64
+ orgId: string;
65
+ connectorId: string;
66
+ instanceId: string;
67
+ streamId: string;
68
+ method: string;
69
+ checkpointRevision: number;
70
+ updatedAt: string;
71
+ [key: string]: unknown;
72
+ };
73
+ applyLedger: ApplyLedgerEntry;
74
+ };
75
+ export type ApplyLedgerEntry = {
76
+ orgId: string;
77
+ instanceId: string;
78
+ scopeKey: string;
79
+ runId: string;
80
+ at: string;
81
+ outcome: "ok" | "conflict" | "failed";
82
+ baseVersionBefore: number;
83
+ baseVersionAfter?: number;
84
+ errorClass?: string;
85
+ errorMessage?: string;
86
+ };
87
+ export type IncrementalStateStore = {
88
+ get(instanceId: string, scopeKey: string): Promise<IncrementalStateRef | null>;
89
+ getContent(instanceId: string, scopeKey: string): Promise<{
90
+ meta: IncrementalStateRef;
91
+ body: Buffer;
92
+ } | null>;
93
+ casPublish(instanceId: string, scopeKey: string, input: CasPublishInput): Promise<IncrementalStateRef>;
94
+ listApplyLedger(instanceId: string, scopeKey: string, opts?: {
95
+ limit?: number;
96
+ }): Promise<ApplyLedgerEntry[]>;
97
+ getApplyByRunId(instanceId: string, scopeKey: string, runId: string): Promise<ApplyLedgerEntry | null>;
98
+ recordApply(entry: ApplyLedgerEntry): Promise<ApplyLedgerEntry>;
99
+ };
100
+ export declare const INC_COLLECTIONS: {
101
+ readonly state: "inc_state_refs";
102
+ readonly applyLedger: "inc_apply_ledger";
103
+ };
104
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/incremental-state/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MX-INC-01 versioned incremental state refs + CAS publish + apply-commit.
3
+ */
4
+ export const INC_COLLECTIONS = {
5
+ state: "inc_state_refs",
6
+ applyLedger: "inc_apply_ledger",
7
+ };
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/incremental-state/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoHH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,kBAAkB;CACvB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,4 +7,7 @@ export { generateSandboxOrgId, beginIsolationSession, cleanupIsolationSession, i
7
7
  export { MagitPackService, createMagitPackService, isMetadataMagitEnabled, resolveMagitStorageTokenEnv, magitTypedStoreConfigured, magitPackageTypeIdConfigured, magitStoreSelectorConfigured, magitPackageTypeIdForDiagnostics, type MagitPackServiceConfig, type PackVersionSummary, type PackedPackageResult, } from "./magit/magit-pack-service.js";
8
8
  export { companionPipelineUrl, isCompanionEnvelopeHardFailure, isTruthyEnv, normalizeCompanionOrigin, postCompanionPipeline, resolveCompanionSuiteUrls, resolveCompanionUrl, type CompanionFailClosedStatus, type CompanionHttpResult, type CompanionUrlResolution, } from "./optional-companion-url.js";
9
9
  export { createInMemoryMcoAttemptStore, createInMemoryMcoOverrideStore, createMongoMcoAttemptStore, createMongoMcoOverrideStore, isOverrideActive, validateSetOverride, hasSecretPayload, findSecretPayloadIssues, sanitizeErrorText, MCO_COLLECTIONS, MCO_RECENT_CAP, type OpOverride, type SetOpOverride, type OpAttempt, type OpAttemptInput, type OpAttemptStatus, type OpStats, type McoOverrideStore, type McoAttemptStore, } from "./connector-ops/index.js";
10
+ export { createDiskBlobStore, createMemoryBlobStore, createS3BlobStore, createPlatformBlobStore, resolveBlobStoreConfig, assertSafeBlobKey, type BlobObjectStore, type BlobBackendKind, type BlobHead, type S3BlobClient, } from "./blob-store/index.js";
11
+ export { createInMemoryIntegrationInstanceStore, createMongoIntegrationInstanceStore, hasRegistrySecretPayload, INTEGRATION_COLLECTIONS, type IntegrationInstance, type IntegrationInstanceInput, type IntegrationListPage, type IntegrationInstanceStore, type IntegrationMutationAudit, } from "./integrations/index.js";
12
+ export { createInMemoryRestrictedObjectStore, createMongoRestrictedObjectStore, parseRestrictedKek, sha256Hex, RESTRICTED_COLLECTIONS, BREAK_GLASS_HEADER, BREAK_GLASS_REASON_HEADER, type RestrictedObjectMeta, type RestrictedObjectStore, type RestrictedPutInput, type RestrictedClassification, type RestrictedAccessAudit, } from "./restricted-store/index.js";
10
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,GAChC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,GAChC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACnC,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mCAAmC,EACnC,gCAAgC,EAChC,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -7,4 +7,7 @@ export { generateSandboxOrgId, beginIsolationSession, cleanupIsolationSession, i
7
7
  export { MagitPackService, createMagitPackService, isMetadataMagitEnabled, resolveMagitStorageTokenEnv, magitTypedStoreConfigured, magitPackageTypeIdConfigured, magitStoreSelectorConfigured, magitPackageTypeIdForDiagnostics, } from "./magit/magit-pack-service.js";
8
8
  export { companionPipelineUrl, isCompanionEnvelopeHardFailure, isTruthyEnv, normalizeCompanionOrigin, postCompanionPipeline, resolveCompanionSuiteUrls, resolveCompanionUrl, } from "./optional-companion-url.js";
9
9
  export { createInMemoryMcoAttemptStore, createInMemoryMcoOverrideStore, createMongoMcoAttemptStore, createMongoMcoOverrideStore, isOverrideActive, validateSetOverride, hasSecretPayload, findSecretPayloadIssues, sanitizeErrorText, MCO_COLLECTIONS, MCO_RECENT_CAP, } from "./connector-ops/index.js";
10
+ export { createDiskBlobStore, createMemoryBlobStore, createS3BlobStore, createPlatformBlobStore, resolveBlobStoreConfig, assertSafeBlobKey, } from "./blob-store/index.js";
11
+ export { createInMemoryIntegrationInstanceStore, createMongoIntegrationInstanceStore, hasRegistrySecretPayload, INTEGRATION_COLLECTIONS, } from "./integrations/index.js";
12
+ export { createInMemoryRestrictedObjectStore, createMongoRestrictedObjectStore, parseRestrictedKek, sha256Hex, RESTRICTED_COLLECTIONS, BREAK_GLASS_HEADER, BREAK_GLASS_REASON_HEADER, } from "./restricted-store/index.js";
10
13
  //# 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,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GAErB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAKrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,GAIjC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GAIpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,cAAc,GASf,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GAErB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAKrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,GAIjC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,GAIpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,cAAc,GASf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,GAKlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACnC,wBAAwB,EACxB,uBAAuB,GAMxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mCAAmC,EACnC,gCAAgC,EAChC,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,GAM1B,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./types.js";
2
+ export { createInMemoryIntegrationInstanceStore, createMongoIntegrationInstanceStore, } from "./instance-store.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,GACpC,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./types.js";
2
+ export { createInMemoryIntegrationInstanceStore, createMongoIntegrationInstanceStore, } from "./instance-store.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,GACpC,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { MongoClient } from "mongodb";
2
+ import { type IntegrationInstanceStore } from "./types.js";
3
+ export declare function createInMemoryIntegrationInstanceStore(orgId: string): IntegrationInstanceStore;
4
+ export declare function createMongoIntegrationInstanceStore(client: MongoClient, orgId: string): IntegrationInstanceStore;
5
+ //# sourceMappingURL=instance-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-store.d.ts","sourceRoot":"","sources":["../../src/integrations/instance-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAIL,KAAK,wBAAwB,EAI9B,MAAM,YAAY,CAAC;AA+FpB,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,MAAM,GACZ,wBAAwB,CA8H1B;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,GACZ,wBAAwB,CA+I1B"}