@x12i/memorix-service 3.2.1 → 3.4.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 (164) hide show
  1. package/README.md +61 -3
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +8 -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/catalog-service.d.ts +48 -0
  30. package/dist/catalog/catalog-service.d.ts.map +1 -0
  31. package/dist/catalog/catalog-service.js +397 -0
  32. package/dist/catalog/catalog-service.js.map +1 -0
  33. package/dist/catalog/package-list-source.d.ts +35 -0
  34. package/dist/catalog/package-list-source.d.ts.map +1 -0
  35. package/dist/catalog/package-list-source.js +47 -0
  36. package/dist/catalog/package-list-source.js.map +1 -0
  37. package/dist/catalog/types.d.ts +65 -0
  38. package/dist/catalog/types.d.ts.map +1 -0
  39. package/dist/catalog/types.js +16 -0
  40. package/dist/catalog/types.js.map +1 -0
  41. package/dist/catalog-store-cli.d.ts +20 -0
  42. package/dist/catalog-store-cli.d.ts.map +1 -0
  43. package/dist/catalog-store-cli.js +237 -0
  44. package/dist/catalog-store-cli.js.map +1 -0
  45. package/dist/cli.d.ts +3 -1
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +48 -18
  48. package/dist/cli.js.map +1 -1
  49. package/dist/connector-ops/attempt-store.d.ts +5 -0
  50. package/dist/connector-ops/attempt-store.d.ts.map +1 -0
  51. package/dist/connector-ops/attempt-store.js +186 -0
  52. package/dist/connector-ops/attempt-store.js.map +1 -0
  53. package/dist/connector-ops/index.d.ts +5 -0
  54. package/dist/connector-ops/index.d.ts.map +1 -0
  55. package/dist/connector-ops/index.js +5 -0
  56. package/dist/connector-ops/index.js.map +1 -0
  57. package/dist/connector-ops/override-store.d.ts +7 -0
  58. package/dist/connector-ops/override-store.d.ts.map +1 -0
  59. package/dist/connector-ops/override-store.js +123 -0
  60. package/dist/connector-ops/override-store.js.map +1 -0
  61. package/dist/connector-ops/sanitize.d.ts +16 -0
  62. package/dist/connector-ops/sanitize.d.ts.map +1 -0
  63. package/dist/connector-ops/sanitize.js +48 -0
  64. package/dist/connector-ops/sanitize.js.map +1 -0
  65. package/dist/connector-ops/types.d.ts +76 -0
  66. package/dist/connector-ops/types.d.ts.map +1 -0
  67. package/dist/connector-ops/types.js +12 -0
  68. package/dist/connector-ops/types.js.map +1 -0
  69. package/dist/effective-listing.d.ts +11 -0
  70. package/dist/effective-listing.d.ts.map +1 -0
  71. package/dist/effective-listing.js +41 -0
  72. package/dist/effective-listing.js.map +1 -0
  73. package/dist/errors.d.ts +5 -1
  74. package/dist/errors.d.ts.map +1 -1
  75. package/dist/errors.js +10 -3
  76. package/dist/errors.js.map +1 -1
  77. package/dist/execution-target.d.ts +16 -0
  78. package/dist/execution-target.d.ts.map +1 -1
  79. package/dist/execution-target.js +54 -0
  80. package/dist/execution-target.js.map +1 -1
  81. package/dist/index.d.ts +6 -1
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +6 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/integrations/index.d.ts +3 -0
  86. package/dist/integrations/index.d.ts.map +1 -0
  87. package/dist/integrations/index.js +3 -0
  88. package/dist/integrations/index.js.map +1 -0
  89. package/dist/integrations/instance-store.d.ts +5 -0
  90. package/dist/integrations/instance-store.d.ts.map +1 -0
  91. package/dist/integrations/instance-store.js +327 -0
  92. package/dist/integrations/instance-store.js.map +1 -0
  93. package/dist/integrations/types.d.ts +92 -0
  94. package/dist/integrations/types.d.ts.map +1 -0
  95. package/dist/integrations/types.js +40 -0
  96. package/dist/integrations/types.js.map +1 -0
  97. package/dist/magit/magit-pack-service.d.ts +436 -70
  98. package/dist/magit/magit-pack-service.d.ts.map +1 -1
  99. package/dist/magit/magit-pack-service.js +949 -202
  100. package/dist/magit/magit-pack-service.js.map +1 -1
  101. package/dist/magit/pack-to-patchset.d.ts +21 -0
  102. package/dist/magit/pack-to-patchset.d.ts.map +1 -1
  103. package/dist/magit/pack-to-patchset.js +29 -0
  104. package/dist/magit/pack-to-patchset.js.map +1 -1
  105. package/dist/magit/package-catalog-bridge.d.ts +4 -14
  106. package/dist/magit/package-catalog-bridge.d.ts.map +1 -1
  107. package/dist/magit/package-catalog-bridge.js +2 -21
  108. package/dist/magit/package-catalog-bridge.js.map +1 -1
  109. package/dist/mgc-packages.d.ts +4 -3
  110. package/dist/mgc-packages.d.ts.map +1 -1
  111. package/dist/mgc-packages.js +4 -3
  112. package/dist/mgc-packages.js.map +1 -1
  113. package/dist/openapi/openapi.json +3060 -135
  114. package/dist/optional-companion-url.d.ts +72 -0
  115. package/dist/optional-companion-url.d.ts.map +1 -0
  116. package/dist/optional-companion-url.js +148 -0
  117. package/dist/optional-companion-url.js.map +1 -0
  118. package/dist/platform.d.ts +29 -0
  119. package/dist/platform.d.ts.map +1 -1
  120. package/dist/platform.js +138 -2
  121. package/dist/platform.js.map +1 -1
  122. package/dist/restricted-store/crypto.d.ts +10 -0
  123. package/dist/restricted-store/crypto.d.ts.map +1 -0
  124. package/dist/restricted-store/crypto.js +43 -0
  125. package/dist/restricted-store/crypto.js.map +1 -0
  126. package/dist/restricted-store/index.d.ts +4 -0
  127. package/dist/restricted-store/index.d.ts.map +1 -0
  128. package/dist/restricted-store/index.js +4 -0
  129. package/dist/restricted-store/index.js.map +1 -0
  130. package/dist/restricted-store/object-store.d.ts +12 -0
  131. package/dist/restricted-store/object-store.d.ts.map +1 -0
  132. package/dist/restricted-store/object-store.js +233 -0
  133. package/dist/restricted-store/object-store.js.map +1 -0
  134. package/dist/restricted-store/types.d.ts +78 -0
  135. package/dist/restricted-store/types.d.ts.map +1 -0
  136. package/dist/restricted-store/types.js +12 -0
  137. package/dist/restricted-store/types.js.map +1 -0
  138. package/dist/routes/catalog.d.ts +4 -0
  139. package/dist/routes/catalog.d.ts.map +1 -0
  140. package/dist/routes/catalog.js +103 -0
  141. package/dist/routes/catalog.js.map +1 -0
  142. package/dist/routes/connector-ops.d.ts +12 -0
  143. package/dist/routes/connector-ops.d.ts.map +1 -0
  144. package/dist/routes/connector-ops.js +160 -0
  145. package/dist/routes/connector-ops.js.map +1 -0
  146. package/dist/routes/integrations.d.ts +5 -0
  147. package/dist/routes/integrations.d.ts.map +1 -0
  148. package/dist/routes/integrations.js +126 -0
  149. package/dist/routes/integrations.js.map +1 -0
  150. package/dist/routes/memory.d.ts.map +1 -1
  151. package/dist/routes/memory.js +9 -2
  152. package/dist/routes/memory.js.map +1 -1
  153. package/dist/routes/metadata.d.ts.map +1 -1
  154. package/dist/routes/metadata.js +459 -186
  155. package/dist/routes/metadata.js.map +1 -1
  156. package/dist/routes/pipelines.d.ts.map +1 -1
  157. package/dist/routes/pipelines.js +3 -2
  158. package/dist/routes/pipelines.js.map +1 -1
  159. package/dist/routes/restricted-store.d.ts +5 -0
  160. package/dist/routes/restricted-store.d.ts.map +1 -0
  161. package/dist/routes/restricted-store.js +117 -0
  162. package/dist/routes/restricted-store.js.map +1 -0
  163. package/openapi/openapi.json +3060 -135
  164. package/package.json +31 -7
@@ -1,11 +1,107 @@
1
- import { type PackageRef } from "@x12i/magit";
1
+ import { type PackageKind as MagitPackageKind } from "@x12i/magit";
2
2
  import type { MetadataPack } from "@x12i/memorix-metadata";
3
- import { type PackageAssociations, type PackageKind, type PackageMode } from "./package-catalog-bridge.js";
3
+ import { type PackagePayload } from "./pack-to-patchset.js";
4
4
  import { type ProposalLike } from "./proposal-to-pack.js";
5
+ import type { PackageAssociations, PackageKind, PackageMode } from "./package-catalog-bridge.js";
5
6
  export type MagitActor = {
6
7
  subject: string;
7
8
  scopes?: string[];
8
9
  };
10
+ export type PackageActor = {
11
+ id?: string;
12
+ email?: string;
13
+ };
14
+ /** Magit's own associations shape (both legs optional) — distinct from
15
+ * Memorix's PackageAssociations (package-catalog-bridge.ts), which requires
16
+ * both legs for locally-discovered associations. */
17
+ export type CatalogAssociations = {
18
+ connectorIds?: string[];
19
+ serviceIds?: string[];
20
+ };
21
+ export type CatalogPackageRef = {
22
+ kind: MagitPackageKind;
23
+ id: string;
24
+ version: string;
25
+ };
26
+ /**
27
+ * Result of packing into the central catalog.
28
+ * On typed-store (Mode A) paths, Magit returns `published` (remote push
29
+ * succeeded) and `storeId`. Never expose the store selector.
30
+ * Flat FR-CPS (Mode B) only returns version/checksum/reused.
31
+ */
32
+ export type PackedPackageResult = {
33
+ version: string;
34
+ checksum: string;
35
+ reused: boolean;
36
+ /** Present on store-scoped packs (2.10+). True only after remote publish. */
37
+ published?: boolean;
38
+ /** Present on store-scoped packs. Sensitive for recovery — avoid bulk lists. */
39
+ storeId?: string;
40
+ /** Present on store-scoped packs. Safe structure-language id. */
41
+ packageTypeId?: string;
42
+ };
43
+ export type CatalogPackageListItem = {
44
+ kind: MagitPackageKind;
45
+ id: string;
46
+ version: string;
47
+ checksum: string | null;
48
+ message: string | null;
49
+ createdAt: string;
50
+ associations?: CatalogAssociations;
51
+ mode?: PackageMode;
52
+ /** Present on store-scoped list rows (2.10+). Never secrets. */
53
+ publisher?: {
54
+ id: string;
55
+ displayName?: string;
56
+ appId?: string;
57
+ workspaceId?: string;
58
+ };
59
+ };
60
+ export type FetchedCatalogPackage = {
61
+ ref: CatalogPackageRef;
62
+ checksum: string;
63
+ payload: PackagePayload;
64
+ associations?: CatalogAssociations;
65
+ publisher?: {
66
+ id: string;
67
+ displayName?: string;
68
+ appId?: string;
69
+ workspaceId?: string;
70
+ };
71
+ };
72
+ /**
73
+ * Typed global store binding (Magit 2.10). Both selector + type required;
74
+ * half-config is an error. Selector must never appear in logs/diagnostics.
75
+ */
76
+ export type MagitTypedStoreConfig = {
77
+ storeSelector: string;
78
+ packageTypeId: string;
79
+ publisher: {
80
+ id: string;
81
+ appId?: string;
82
+ };
83
+ };
84
+ /** Last-observed reachability of the central package catalog. `reachable:
85
+ * null` means never attempted yet (optimistic — matches pre-cutover state
86
+ * until proven otherwise). Reactive, not polled: updated after every real
87
+ * catalog operation. */
88
+ export type MagitCatalogHealth = {
89
+ reachable: boolean | null;
90
+ reason: string | null;
91
+ };
92
+ /**
93
+ * Any error surfaced from a catalog-flagged operation that isn't already a
94
+ * ServiceError or PatchsetError (both handled earlier in mapError, and
95
+ * neither indicates a reachability problem) is treated as central-storage
96
+ * unreachable — network/DNS failure, connection refused, and auth failure
97
+ * (missing/expired MAGIT_TOKEN) all leave the catalog equally unusable from
98
+ * an operator's "is Magit healthy" perspective, and the FR (§8's retirement)
99
+ * requires surfacing every one of them rather than silently falling back to
100
+ * local-only behaviour. The first line of the error message is kept as the
101
+ * classified reason for diagnostics.
102
+ */
103
+ /** First line of an error, with Magit store-selector material redacted. */
104
+ export declare function classifyCatalogUnreachable(err: unknown): string;
9
105
  export type PackVersionSummary = {
10
106
  commit: string;
11
107
  agentId: string;
@@ -33,6 +129,11 @@ export type PackDiffResult = {
33
129
  to: string;
34
130
  changes: PackDiffRow[];
35
131
  };
132
+ /**
133
+ * Pure record-level pack compare used for Mode A (immutable store payloads)
134
+ * and unit tests. Keys definitions by kind/id with stable JSON equality.
135
+ */
136
+ export declare function diffMetadataPacks(agentId: string, from: string, to: string, fromPack: MetadataPack, toPack: MetadataPack): PackDiffResult;
36
137
  export type MemorixReleaseRecord = {
37
138
  name: string;
38
139
  commit: string;
@@ -63,101 +164,131 @@ export type MagitPackServiceConfig = {
63
164
  /** Metadata DB name for this isolation session / org. */
64
165
  metadataDb: string;
65
166
  storageUrl?: string;
66
- /**
67
- * Env var name Magit reads for the storage Authix token.
68
- * Magit token === Authix service token (same credential).
69
- */
70
167
  storageTokenEnv?: string;
71
168
  /** Optional logger for Magit progress ticks. */
72
169
  log?: (msg: string, extra?: Record<string, unknown>) => void;
73
170
  };
74
- export type CatalogPackageVersion = {
75
- kind: PackageKind;
76
- id: string;
77
- version: string;
78
- commit: string;
79
- checksum: string | null;
80
- message: string | null;
81
- createdAt: string;
82
- mode?: PackageMode;
83
- associations?: PackageAssociations;
84
- };
85
- export type CatalogPackResult = {
86
- version: string;
87
- checksum: string;
88
- reused: boolean;
89
- remote: boolean;
90
- };
91
- /**
92
- * Magit storage auth is the Authix service token.
93
- * Prefers MAGIT_STORAGE_TOKEN_ENV, else MAGIT_TOKEN / AUTHIX_TOKEN when set.
94
- */
95
- export declare function resolveMagitStorageTokenEnv(): string;
96
171
  /**
97
172
  * Magit is on by default when durable Mongo is configured (platform gates that).
98
173
  * Set METADATA_MAGIT=0 / false / off to disable.
99
174
  */
100
175
  export declare function isMetadataMagitEnabled(): boolean;
176
+ /**
177
+ * `MAGIT_REPO_ROOT` is the parent of each repo's LOCAL working checkout / cache
178
+ * (per-org live-history repos and the shared package catalog repo alike). It is
179
+ * demoted, not removed, by the central-catalog cutover (X12-65): it no longer
180
+ * doubles as the catalog — that is central storage, bound via `storageTenant`
181
+ * (see `resolveMagitCatalogTenant`). This directory can be wiped and
182
+ * re-bootstrapped from central storage without data loss.
183
+ */
101
184
  export declare function resolveMagitRepoRootParent(): string;
185
+ /**
186
+ * Central Magit package-catalog tenant (FR-CPS-1). This is a fixed
187
+ * developer/solution scope for Memorix's own package storage — it must NEVER
188
+ * be a runtime `orgId`. Org only appears as a Restore install target, never as
189
+ * the catalog key. Default `"x12i"` (dedicated Memorix catalog workspace).
190
+ */
191
+ export declare function resolveMagitCatalogTenant(): string;
192
+ /**
193
+ * Magit storage repo id for the central package catalog (FR-CPS). Defaults to
194
+ * `memorix` (dedicated catalog repo). Override with MAGIT_CATALOG_REPO only when
195
+ * targeting a non-standard host layout.
196
+ */
197
+ export declare function resolveMagitCatalogRepoName(): string;
198
+ /** Write-once on createGlobalStore — kinds omitted can only be fixed with a second store. */
199
+ export declare const DEFAULT_TYPED_STORE_ALLOWED_KINDS: readonly ["agent", "connector", "service", "agent-bundle"];
200
+ /**
201
+ * Env var *name* Magit uses to load the central-storage bearer token.
202
+ * Priority: MAGIT_STORAGE_TOKEN_ENV (explicit name) → AUTHIX_TOKEN if set → MAGIT_TOKEN.
203
+ */
204
+ export declare function resolveMagitStorageTokenEnv(): string;
205
+ /**
206
+ * Magit 2.10 typed global store binding.
207
+ * - both MAGIT_PACKAGE_STORE_SELECTOR + MAGIT_PACKAGE_TYPE_ID → store path
208
+ * - neither → flat catalog (2.9 compatible)
209
+ * - only one set → fail closed (never half-use store APIs)
210
+ */
211
+ export declare function resolveMagitTypedStoreConfig(): MagitTypedStoreConfig | null;
212
+ /** Whether store env is configured (yes/no only — never selector values). */
213
+ export declare function magitTypedStoreConfigured(): boolean;
214
+ /** Whether MAGIT_PACKAGE_TYPE_ID is set (safe to report; not a capability secret). */
215
+ export declare function magitPackageTypeIdConfigured(): boolean;
216
+ /** Whether MAGIT_PACKAGE_STORE_SELECTOR is set (yes/no only — never the value). */
217
+ export declare function magitStoreSelectorConfigured(): boolean;
218
+ /** Structure language id for diagnostics when set. Never the store selector. */
219
+ export declare function magitPackageTypeIdForDiagnostics(): string | null;
102
220
  export declare class MagitPackService {
103
221
  private readonly cfg;
104
222
  private readonly ensured;
223
+ private catalogHealth;
105
224
  constructor(cfg: MagitPackServiceConfig);
225
+ /** Last-observed central package-catalog reachability (task 5 diagnostics). */
226
+ catalogHealthStatus(): MagitCatalogHealth;
106
227
  private progress;
107
- private storageTokenEnvName;
108
- private storageUrl;
109
- /** True when Authix/Magit token is present for remote catalog push/pull. */
110
- hasRemoteCatalog(): boolean;
111
228
  repoRootFor(orgId: string): string;
112
- catalogRepoRoot(): string;
113
229
  ensureRepo(orgId: string): Promise<void>;
114
- /** Dedicated Magit root for org-free package catalog (`packages/`). */
115
- ensureCatalogRepo(): Promise<void>;
116
- private ensureRepoInternal;
117
230
  /**
118
- * Pull remote package catalog when Authix token is configured.
119
- * `full: true` for fetch/restore so record objects for package contents exist.
231
+ * Open the shared central package-catalog repo (org-free). Opening the
232
+ * LOCAL repo directory can succeed even when central storage itself is
233
+ * unreachable (`repo.init` only warns on a failed remote bootstrap by
234
+ * default — see `strictRemote` — and `magit.open` is a local-only call), so
235
+ * this deliberately does NOT mark catalogHealth reachable; only an actual
236
+ * round-trip (pull/pack/list/fetch) that completes should do that.
120
237
  */
121
- syncCatalogPull(opts?: {
122
- full?: boolean;
123
- }): Promise<{
124
- remote: boolean;
125
- downloaded?: number;
126
- }>;
127
- syncCatalogPush(): Promise<{
128
- remote: boolean;
129
- uploaded?: number;
130
- }>;
131
- /** Pack a MetadataPack into Magit packages/ (does not change live metadata). */
132
- packCatalogPackage(input: {
238
+ private ensureCatalogRepo;
239
+ /**
240
+ * Pack a payload into the central catalog (FR-CPS-4), or into the typed
241
+ * global store when MAGIT_PACKAGE_STORE_SELECTOR + MAGIT_PACKAGE_TYPE_ID are set.
242
+ *
243
+ * Flat: pull then packPackageFR without selector.
244
+ * Store: packPackageFR with selector/type/kind/publisher; do not full-tree pull.
245
+ */
246
+ packPackage(opts: {
133
247
  kind: PackageKind;
134
248
  id: string;
135
249
  message: string;
136
250
  pack: MetadataPack;
137
- mode?: PackageMode;
138
251
  associations?: PackageAssociations;
139
- pins?: PackageRef[];
140
- actor?: MagitActor;
141
- }): Promise<CatalogPackResult>;
142
- listCatalogPackages(filter?: {
252
+ mode?: PackageMode;
253
+ pins?: CatalogPackageRef[];
254
+ actor?: PackageActor;
255
+ }): Promise<PackedPackageResult>;
256
+ /**
257
+ * List packages — flat catalog or store-scoped list (kind required on store path).
258
+ * Org-free: kind + id only; never a store selector from the client.
259
+ */
260
+ listPackages(filter?: {
143
261
  kind?: PackageKind;
144
262
  id?: string;
145
263
  maxCount?: number;
146
- }): Promise<{
147
- items: CatalogPackageVersion[];
148
- remote: boolean;
149
- }>;
150
- fetchCatalogPackage(ref: {
151
- kind: PackageKind;
152
- id: string;
153
- version: string;
154
- }, preferredAgentId?: string): Promise<{
155
- pack: MetadataPack;
156
- checksum: string;
157
- version: string;
158
- associations?: PackageAssociations;
159
- remote: boolean;
160
- }>;
264
+ publisher?: string;
265
+ }): Promise<CatalogPackageListItem[]>;
266
+ /**
267
+ * Fetch a package version WITH its payload.
268
+ * Flat: full pull + fetchPackageFR(ref).
269
+ * Store: pullStore + fetchPackageFR({ storeSelector, packageTypeId, kind, id, version }).
270
+ * Restore remains product-side (install after fetch) — no Magit store restore.
271
+ */
272
+ fetchPackage(ref: CatalogPackageRef): Promise<FetchedCatalogPackage>;
273
+ /**
274
+ * Compare two package versions (or a version vs live/installed).
275
+ *
276
+ * Mode A (typed store): package versions are immutable store payloads, not
277
+ * catalog-repo commits. Fetch both refs (or accept an installed pack for the
278
+ * installed/live sentinel) and produce a record-level PackDiffResult.
279
+ *
280
+ * Mode B (flat FR-CPS): reuses the org-scoped commit diff against the
281
+ * catalog local repo. `sliceAgentId` is the catalog-internal record grouping
282
+ * packPackage embeds, not a runtime org.
283
+ */
284
+ diffPackages(sliceAgentId: string, opts: {
285
+ from: string;
286
+ to: string;
287
+ kind?: PackageKind;
288
+ id?: string;
289
+ /** Required when either side is "live"/"installed" and typed store is on. */
290
+ installedPack?: MetadataPack | null;
291
+ }): Promise<PackDiffResult>;
161
292
  saveVersion(orgId: string, pack: MetadataPack, opts: {
162
293
  message: string;
163
294
  actor?: MagitActor;
@@ -242,6 +373,241 @@ export declare class MagitPackService {
242
373
  private seedAgentsCollectionCommit;
243
374
  private ensureMongoEnv;
244
375
  private mapError;
376
+ /**
377
+ * Provision a typed global package store (create + pushStore + verify).
378
+ * Returns the selector EXACTLY ONCE — caller must write it to a secret store.
379
+ * Duplicate packageTypeId stores abort unless force=true.
380
+ * allowedKinds is write-once on the Magit store — decide the list before create.
381
+ */
382
+ provisionTypedPackageStore(opts?: {
383
+ packageTypeId?: string;
384
+ allowedKinds?: string[];
385
+ force?: boolean;
386
+ }): Promise<{
387
+ storeId: string;
388
+ storeSelector: string;
389
+ packageTypeId: string;
390
+ allowedKinds: string[];
391
+ pushed: {
392
+ uploaded: number;
393
+ skipped: number;
394
+ };
395
+ existingStoreCount: number;
396
+ }>;
397
+ /** Mode A required: package / release channels live on the typed store only. */
398
+ private requireTypedStoreConfig;
399
+ /**
400
+ * Promote a package channel pointer (Mode A). Packages never move — only the pointer.
401
+ */
402
+ setPackageChannel(opts: {
403
+ kind: MagitPackageKind | string;
404
+ id: string;
405
+ channel: string;
406
+ version: string;
407
+ message?: string;
408
+ expectedVersion?: string | null;
409
+ }): Promise<{
410
+ storeId: string;
411
+ kind: string;
412
+ id: string;
413
+ channel: string;
414
+ version: string;
415
+ previousVersion: string | null;
416
+ seq: number;
417
+ movedAt: string;
418
+ message?: string;
419
+ unchanged: boolean;
420
+ }>;
421
+ /** Resolve where a package channel points (Mode A; Magit pulls first by default). */
422
+ resolvePackageChannel(opts: {
423
+ kind: MagitPackageKind | string;
424
+ id: string;
425
+ channel: string;
426
+ sync?: boolean;
427
+ }): Promise<{
428
+ storeId: string;
429
+ kind: string;
430
+ id: string;
431
+ channel: string;
432
+ version: string;
433
+ seq: number;
434
+ movedAt: string;
435
+ message?: string;
436
+ }>;
437
+ /** Cut an immutable release set (content-addressed members). Mode A only. */
438
+ packRelease(opts: {
439
+ members: Array<{
440
+ kind: string;
441
+ id: string;
442
+ version: string;
443
+ }>;
444
+ message?: string;
445
+ }): Promise<{
446
+ releaseId: string;
447
+ storeId: string;
448
+ members: Array<{
449
+ kind: string;
450
+ id: string;
451
+ version: string;
452
+ }>;
453
+ reused: boolean;
454
+ published: boolean;
455
+ message?: string;
456
+ createdAt: string;
457
+ }>;
458
+ /** Point a release channel at a releaseId (atomic promote of a set). Mode A. */
459
+ setReleaseChannel(opts: {
460
+ channel: string;
461
+ releaseId: string;
462
+ message?: string;
463
+ expectedReleaseId?: string | null;
464
+ }): Promise<{
465
+ storeId: string;
466
+ channel: string;
467
+ releaseId: string;
468
+ previousReleaseId: string | null;
469
+ seq: number;
470
+ movedAt: string;
471
+ message?: string;
472
+ unchanged: boolean;
473
+ }>;
474
+ /** Resolve a release channel with full member set (Magit pulls first). Mode A. */
475
+ resolveReleaseChannel(opts: {
476
+ channel: string;
477
+ sync?: boolean;
478
+ }): Promise<{
479
+ storeId: string;
480
+ channel: string;
481
+ releaseId: string;
482
+ seq: number;
483
+ movedAt: string;
484
+ message?: string;
485
+ release: {
486
+ releaseId: string;
487
+ members: Array<{
488
+ kind: string;
489
+ id: string;
490
+ version: string;
491
+ }>;
492
+ message?: string;
493
+ createdAt: string;
494
+ };
495
+ }>;
496
+ /** Rollback list for a release channel (Mode A). */
497
+ releaseChannelHistory(opts: {
498
+ channel: string;
499
+ sync?: boolean;
500
+ }): Promise<Array<{
501
+ channel: string;
502
+ seq: number;
503
+ releaseId: string;
504
+ previousReleaseId: string | null;
505
+ movedAt: string;
506
+ message?: string;
507
+ }>>;
508
+ /**
509
+ * List package channel heads (Mode A). Optionally filter by kind/id/channel.
510
+ * Magit pulls first unless sync:false.
511
+ */
512
+ listPackageChannels(opts?: {
513
+ kind?: string;
514
+ id?: string;
515
+ channel?: string;
516
+ sync?: boolean;
517
+ }): Promise<Array<{
518
+ storeId: string;
519
+ kind: string;
520
+ id: string;
521
+ channel: string;
522
+ version: string;
523
+ seq: number;
524
+ movedAt: string;
525
+ message?: string;
526
+ }>>;
527
+ /** Every promotion ever made on a package channel (Mode A). */
528
+ packageChannelHistory(opts: {
529
+ kind: MagitPackageKind | string;
530
+ id: string;
531
+ channel: string;
532
+ sync?: boolean;
533
+ }): Promise<Array<{
534
+ kind: string;
535
+ id: string;
536
+ channel: string;
537
+ version: string;
538
+ previousVersion: string | null;
539
+ seq: number;
540
+ movedAt: string;
541
+ message?: string;
542
+ }>>;
543
+ /** List all release channel heads in the store (Mode A). */
544
+ listReleaseChannels(opts?: {
545
+ sync?: boolean;
546
+ }): Promise<Array<{
547
+ storeId: string;
548
+ channel: string;
549
+ releaseId: string;
550
+ seq: number;
551
+ movedAt: string;
552
+ message?: string;
553
+ release: {
554
+ releaseId: string;
555
+ members: Array<{
556
+ kind: string;
557
+ id: string;
558
+ version: string;
559
+ }>;
560
+ message?: string;
561
+ createdAt: string;
562
+ };
563
+ }>>;
564
+ /**
565
+ * Safe catalog capability flags for Studio (never include selector/token).
566
+ */
567
+ packageCatalogCapabilities(): {
568
+ magitOn: boolean;
569
+ typedStoreConfigured: boolean;
570
+ packageTypeId: string | null;
571
+ canBrowse: boolean;
572
+ canPublish: boolean;
573
+ canPromote: boolean;
574
+ canUseChannels: boolean;
575
+ canUseReleases: boolean;
576
+ };
577
+ /**
578
+ * Verify configured catalog reachability (typed store via pullStore, or flat pull).
579
+ * Never prints selector/token values.
580
+ */
581
+ verifyTypedPackageStore(): Promise<{
582
+ ok: true;
583
+ mode: "typed-store" | "flat";
584
+ packageTypeId: string | null;
585
+ reachable: true;
586
+ }>;
587
+ /**
588
+ * Owner recovery: mint a new selector for an existing storeId, then pushStore.
589
+ * The new selector is returned ONCE. storeId is sensitive — operators only.
590
+ */
591
+ recoverStoreSelector(opts: {
592
+ storeId: string;
593
+ }): Promise<{
594
+ storeId: string;
595
+ storeSelector: string;
596
+ packageTypeId: string;
597
+ pushed: {
598
+ uploaded: number;
599
+ skipped: number;
600
+ };
601
+ }>;
602
+ /**
603
+ * Owner inventory of stores (metadata only — never selectors).
604
+ */
605
+ listPackageStores(): Promise<Array<{
606
+ storeId: string;
607
+ packageTypeId: string;
608
+ allowedKinds: string[];
609
+ createdAt: string;
610
+ }>>;
245
611
  }
246
612
  export declare function createMagitPackService(cfg: MagitPackServiceConfig): MagitPackService;
247
613
  //# sourceMappingURL=magit-pack-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"magit-pack-service.d.ts","sourceRoot":"","sources":["../../src/magit/magit-pack-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"magit-pack-service.d.ts","sourceRoot":"","sources":["../../src/magit/magit-pack-service.ts"],"names":[],"mappings":"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"}