pyric-admin 0.1.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * `pyric-admin/firestore` — Admin-shape Firestore.
3
+ *
4
+ * The implementation lives at `pyric/sandbox/admin-firestore` (the
5
+ * pyric-internal admin-compat layer). This subpath is the consumer-
6
+ * facing entry that exposes it under the `pyric-admin` namespace,
7
+ * mirroring `firebase-admin/firestore`.
8
+ *
9
+ * Everything from the internal module is re-exported unchanged EXCEPT
10
+ * `getFirestore`, which is wrapped here to also accept:
11
+ * - a {@link PyricAdminApp} handle, and
12
+ * - no argument at all (resolves the default app from `pyric-admin/app`).
13
+ * Both paths mirror `firebase-admin/firestore`'s `getFirestore(app?)`
14
+ * default-app resolution and throw the captured `app/no-app` error when
15
+ * nothing is initialized. The original `getFirestore(ctx)` context form
16
+ * (the load-bearing shape the existing suite uses) is preserved verbatim.
17
+ */
18
+ export * from 'pyric/sandbox/admin-firestore';
19
+ import { type SandboxFirestore } from 'pyric/sandbox/admin-firestore';
20
+ import type { SandboxContext } from 'pyric/sandbox';
21
+ import { type PyricAdminApp } from '../app/index.js';
22
+ /**
23
+ * Return the admin Firestore handle.
24
+ *
25
+ * - `getFirestore(ctx)` — the original context form (rules-applied for the
26
+ * ctx's captured identity). Unchanged; idempotent per `SandboxContext`.
27
+ * - `getFirestore(app)` — resolves a {@link PyricAdminApp}'s sandbox.
28
+ * - `getFirestore()` — resolves the default app; throws `app/no-app` when
29
+ * nothing is initialized.
30
+ */
31
+ export declare function getFirestore(target?: SandboxContext | PyricAdminApp): SandboxFirestore;
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/firestore/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAoBzB;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,GACtC,gBAAgB,CAUlB"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * `pyric-admin/firestore` — Admin-shape Firestore.
3
+ *
4
+ * The implementation lives at `pyric/sandbox/admin-firestore` (the
5
+ * pyric-internal admin-compat layer). This subpath is the consumer-
6
+ * facing entry that exposes it under the `pyric-admin` namespace,
7
+ * mirroring `firebase-admin/firestore`.
8
+ *
9
+ * Everything from the internal module is re-exported unchanged EXCEPT
10
+ * `getFirestore`, which is wrapped here to also accept:
11
+ * - a {@link PyricAdminApp} handle, and
12
+ * - no argument at all (resolves the default app from `pyric-admin/app`).
13
+ * Both paths mirror `firebase-admin/firestore`'s `getFirestore(app?)`
14
+ * default-app resolution and throw the captured `app/no-app` error when
15
+ * nothing is initialized. The original `getFirestore(ctx)` context form
16
+ * (the load-bearing shape the existing suite uses) is preserved verbatim.
17
+ */
18
+ export * from 'pyric/sandbox/admin-firestore';
19
+ import { getFirestore as baseGetFirestore, } from 'pyric/sandbox/admin-firestore';
20
+ import { ADMIN_APP_TARGET, getApp, isSandboxAdminApp, } from '../app/index.js';
21
+ import { assertAdminAppActive } from '../app/lifecycle.js';
22
+ /** Narrow a `PyricAdminApp` to the anonymous {@link SandboxContext} the
23
+ * admin firestore backend runs against. Sandbox apps expose their
24
+ * `Sandbox` — LOCAL and REMOTE alike: the base `getFirestore` is
25
+ * remote-aware (it dispatches a remote-branded sandbox to the
26
+ * channel-backed arm), so no guard is needed here. Prod apps require
27
+ * firebase-admin's real Firestore, which the in-process backend does
28
+ * not model. */
29
+ function adminAppToContext(app) {
30
+ if (isSandboxAdminApp(app)) {
31
+ return app.sandbox.withAuth(null);
32
+ }
33
+ throw new Error('pyric-admin/firestore: getFirestore() default-app resolution supports ' +
34
+ 'sandbox apps; a prod app requires firebase-admin/firestore directly.');
35
+ }
36
+ /**
37
+ * Return the admin Firestore handle.
38
+ *
39
+ * - `getFirestore(ctx)` — the original context form (rules-applied for the
40
+ * ctx's captured identity). Unchanged; idempotent per `SandboxContext`.
41
+ * - `getFirestore(app)` — resolves a {@link PyricAdminApp}'s sandbox.
42
+ * - `getFirestore()` — resolves the default app; throws `app/no-app` when
43
+ * nothing is initialized.
44
+ */
45
+ export function getFirestore(target) {
46
+ if (target === undefined) {
47
+ return baseGetFirestore(adminAppToContext(getApp()));
48
+ }
49
+ if (typeof target === 'object' && target !== null && ADMIN_APP_TARGET in target) {
50
+ const app = target;
51
+ assertAdminAppActive(app);
52
+ return baseGetFirestore(adminAppToContext(app));
53
+ }
54
+ return baseGetFirestore(target);
55
+ }
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/firestore/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EACL,YAAY,IAAI,gBAAgB,GAEjC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;;;;iBAMiB;AACjB,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,wEAAwE;QACtE,sEAAsE,CACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAuC;IAEvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;QAChF,MAAM,GAAG,GAAG,MAAuB,CAAC;QACpC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAwB,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * `pyric-admin/messaging` — the `firebase-admin/messaging` send-plane mirror
3
+ * (surface `messaging-admin`, rows `messaging-admin#1`–`#39` in
4
+ * `packages/conformance/registry/messaging.ts`).
5
+ *
6
+ * A sandbox-branded app produces an in-process {@link Messaging} over the
7
+ * per-sandbox {@link MessagingBroker} from `pyric/messaging/internal`.
8
+ * Sharing the `Sandbox` with the client mirrors closes the loop: `send()`
9
+ * here routes deliveries into `pyric/messaging`'s `onMessage` /
10
+ * `pyric/messaging/sw`'s `onBackgroundMessage` by the captured visibility
11
+ * rule.
12
+ *
13
+ * Rejections carry the broker's captured `google.rpc` envelopes and are
14
+ * re-wrapped here the way firebase-admin wraps the wire: the FcmError
15
+ * `errorCode` maps through {@link MessagingClientErrorCode}
16
+ * (`INVALID_ARGUMENT` → `messaging/invalid-argument`, `UNREGISTERED` →
17
+ * `messaging/registration-token-not-registered` — the captured
18
+ * `adminThrowCode`), with the envelope's message text.
19
+ *
20
+ * ── Default app (climb-gated) ───────────────────────────────────────────────
21
+ * `getMessaging()` with no app first resolves the registered `'[DEFAULT]'`
22
+ * app (mirroring firebase-admin, including the exact `app/no-app` throw).
23
+ * Only when NO default exists AND `PYRIC_CLIMB=1` does the mirror mint an
24
+ * implicit, UNREGISTERED sandbox app — the conformance suites' headless
25
+ * degenerate case. Outside the climb it preserves the captured no-app error.
26
+ *
27
+ * Mirror-owned `FirebaseMessagingError` and `MessagingClientErrorCode`
28
+ * preserve the observable names, codes, and static members used by callers.
29
+ */
30
+ import { type BrokerMessage } from 'pyric/messaging/internal';
31
+ import { type PyricAdminApp, type SandboxAdminApp } from '../app/index.js';
32
+ type ErrorCodeInfo = {
33
+ code: string;
34
+ message: string;
35
+ };
36
+ export declare class MessagingClientErrorCode {
37
+ static readonly INVALID_ARGUMENT: {
38
+ code: string;
39
+ message: string;
40
+ };
41
+ static readonly INVALID_REGISTRATION_TOKEN: {
42
+ code: string;
43
+ message: string;
44
+ };
45
+ static readonly REGISTRATION_TOKEN_NOT_REGISTERED: {
46
+ code: string;
47
+ message: string;
48
+ };
49
+ }
50
+ export declare class FirebaseMessagingError extends Error {
51
+ readonly code: string;
52
+ constructor(info: ErrorCodeInfo, message?: string);
53
+ }
54
+ /** Mirror-owned structural messaging types. */
55
+ export type Notification = NonNullable<BrokerMessage['notification']>;
56
+ export type FcmOptions = NonNullable<BrokerMessage['fcmOptions']>;
57
+ export type WebpushConfig = NonNullable<BrokerMessage['webpush']>;
58
+ export type WebpushFcmOptions = NonNullable<WebpushConfig['fcmOptions']>;
59
+ export type WebpushNotification = Record<string, unknown>;
60
+ export type ApnsConfig = Record<string, unknown>;
61
+ export type ApnsPayload = Record<string, unknown>;
62
+ export type Aps = Record<string, unknown>;
63
+ export type ApsAlert = string | Record<string, unknown>;
64
+ export type CriticalSound = Record<string, unknown>;
65
+ export type ApnsFcmOptions = Record<string, unknown>;
66
+ export type AndroidConfig = Record<string, unknown>;
67
+ export type AndroidNotification = Record<string, unknown>;
68
+ export type LightSettings = Record<string, unknown>;
69
+ export type AndroidFcmOptions = Record<string, unknown>;
70
+ export type DataMessagePayload = Record<string, string>;
71
+ export type NotificationMessagePayload = Record<string, string>;
72
+ export type MessagingPayload = Record<string, unknown>;
73
+ export type MessagingOptions = Record<string, unknown>;
74
+ export interface BaseMessage extends Omit<BrokerMessage, 'token' | 'topic' | 'condition'> {
75
+ }
76
+ export interface TokenMessage extends BaseMessage {
77
+ token: string;
78
+ }
79
+ export interface TopicMessage extends BaseMessage {
80
+ topic: string;
81
+ }
82
+ export interface ConditionMessage extends BaseMessage {
83
+ condition: string;
84
+ }
85
+ export type Message = TokenMessage | TopicMessage | ConditionMessage;
86
+ export interface MulticastMessage extends BaseMessage {
87
+ tokens: string[];
88
+ }
89
+ export interface SendResponse {
90
+ success: boolean;
91
+ messageId?: string;
92
+ error?: FirebaseMessagingError;
93
+ }
94
+ export interface BatchResponse {
95
+ responses: SendResponse[];
96
+ successCount: number;
97
+ failureCount: number;
98
+ }
99
+ export interface MessagingTopicManagementResponse {
100
+ successCount: number;
101
+ failureCount: number;
102
+ errors: Array<{
103
+ index: number;
104
+ error: FirebaseMessagingError;
105
+ }>;
106
+ }
107
+ /**
108
+ * The sandbox `Messaging` service mirror, implementing the send plane over
109
+ * the broker.
110
+ */
111
+ export declare class Messaging {
112
+ private readonly broker;
113
+ private readonly boundApp;
114
+ constructor(app: SandboxAdminApp);
115
+ /** The app this `Messaging` instance is bound to (upstream `get app(): App`). */
116
+ get app(): PyricAdminApp;
117
+ /**
118
+ * Send one message. Resolves the FCM resource name
119
+ * `projects/<projectId>/messages/<id>` — numeric id for topic/condition
120
+ * targets, UUID-form for token targets. `dryRun` validates on the
121
+ * identical path and returns the SAME shape with a fake id (captured
122
+ * `dryRunSameShapeAsReal` / `realSendEnvelopeIdentical` parity).
123
+ */
124
+ send(message: Message, dryRun?: boolean): Promise<string>;
125
+ /**
126
+ * Send up to 500 messages; the resolved `BatchResponse.responses` array is
127
+ * ordered to match the input, one entry per message.
128
+ */
129
+ sendEach(messages: Message[], dryRun?: boolean): Promise<BatchResponse>;
130
+ /** Fan a `MulticastMessage` (up to 500 tokens) out through {@link sendEach}. */
131
+ sendEachForMulticast(message: MulticastMessage, dryRun?: boolean): Promise<BatchResponse>;
132
+ /** Subscribe one or many registration tokens to a topic. */
133
+ subscribeToTopic(tokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;
134
+ /** Unsubscribe one or many registration tokens from a topic. */
135
+ unsubscribeFromTopic(tokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;
136
+ private manageTopic;
137
+ /**
138
+ * Force HTTP/1.1 for batch sends — deprecated upstream; the sandbox has
139
+ * no HTTP transport, so this is a recorded no-op.
140
+ */
141
+ enableLegacyHttpTransport(): void;
142
+ }
143
+ /**
144
+ * Return the broker-backed `Messaging` service for the default or given
145
+ * sandbox admin app.
146
+ */
147
+ export declare function getMessaging(app?: PyricAdminApp): Messaging;
148
+ /**
149
+ * Namespaced / legacy accessor — the `admin.messaging(app?)` equivalent of
150
+ * {@link getMessaging}.
151
+ */
152
+ export declare function messaging(app?: PyricAdminApp): Messaging;
153
+ export {};
154
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * `pyric-admin/messaging` — the `firebase-admin/messaging` send-plane mirror
3
+ * (surface `messaging-admin`, rows `messaging-admin#1`–`#39` in
4
+ * `packages/conformance/registry/messaging.ts`).
5
+ *
6
+ * A sandbox-branded app produces an in-process {@link Messaging} over the
7
+ * per-sandbox {@link MessagingBroker} from `pyric/messaging/internal`.
8
+ * Sharing the `Sandbox` with the client mirrors closes the loop: `send()`
9
+ * here routes deliveries into `pyric/messaging`'s `onMessage` /
10
+ * `pyric/messaging/sw`'s `onBackgroundMessage` by the captured visibility
11
+ * rule.
12
+ *
13
+ * Rejections carry the broker's captured `google.rpc` envelopes and are
14
+ * re-wrapped here the way firebase-admin wraps the wire: the FcmError
15
+ * `errorCode` maps through {@link MessagingClientErrorCode}
16
+ * (`INVALID_ARGUMENT` → `messaging/invalid-argument`, `UNREGISTERED` →
17
+ * `messaging/registration-token-not-registered` — the captured
18
+ * `adminThrowCode`), with the envelope's message text.
19
+ *
20
+ * ── Default app (climb-gated) ───────────────────────────────────────────────
21
+ * `getMessaging()` with no app first resolves the registered `'[DEFAULT]'`
22
+ * app (mirroring firebase-admin, including the exact `app/no-app` throw).
23
+ * Only when NO default exists AND `PYRIC_CLIMB=1` does the mirror mint an
24
+ * implicit, UNREGISTERED sandbox app — the conformance suites' headless
25
+ * degenerate case. Outside the climb it preserves the captured no-app error.
26
+ *
27
+ * Mirror-owned `FirebaseMessagingError` and `MessagingClientErrorCode`
28
+ * preserve the observable names, codes, and static members used by callers.
29
+ */
30
+ import { initializeSandbox } from 'pyric/sandbox';
31
+ import { getMessagingBroker, BrokerSendError, } from 'pyric/messaging/internal';
32
+ import { ADMIN_APP_TARGET, getApp, } from '../app/index.js';
33
+ import { assertAdminAppActive } from '../app/lifecycle.js';
34
+ export class MessagingClientErrorCode {
35
+ static INVALID_ARGUMENT = {
36
+ code: 'invalid-argument',
37
+ message: 'Invalid argument provided.',
38
+ };
39
+ static INVALID_REGISTRATION_TOKEN = {
40
+ code: 'invalid-registration-token',
41
+ message: 'Invalid registration token provided.',
42
+ };
43
+ static REGISTRATION_TOKEN_NOT_REGISTERED = {
44
+ code: 'registration-token-not-registered',
45
+ message: 'The provided registration token is not registered.',
46
+ };
47
+ }
48
+ export class FirebaseMessagingError extends Error {
49
+ code;
50
+ constructor(info, message) {
51
+ super(message ?? info.message);
52
+ this.name = 'FirebaseMessagingError';
53
+ this.code = `messaging/${info.code}`;
54
+ }
55
+ }
56
+ const MessagingError = FirebaseMessagingError;
57
+ const ErrorCodes = MessagingClientErrorCode;
58
+ /** Wire FcmError errorCode → firebase-admin client error info. */
59
+ function clientErrorInfoFor(fcmErrorCode) {
60
+ if (fcmErrorCode === 'UNREGISTERED')
61
+ return ErrorCodes.REGISTRATION_TOKEN_NOT_REGISTERED;
62
+ return ErrorCodes.INVALID_ARGUMENT;
63
+ }
64
+ /** Re-wrap a broker rejection exactly as firebase-admin wraps the wire envelope. */
65
+ function rethrowWrapped(error) {
66
+ if (error instanceof BrokerSendError) {
67
+ throw new MessagingError(clientErrorInfoFor(error.errorCode), error.envelope.error.message);
68
+ }
69
+ throw error;
70
+ }
71
+ function invalidArgument(message) {
72
+ return new MessagingError(ErrorCodes.INVALID_ARGUMENT, message);
73
+ }
74
+ // ── The sandbox Messaging service ────────────────────────────────────────────
75
+ /**
76
+ * The sandbox `Messaging` service mirror, implementing the send plane over
77
+ * the broker.
78
+ */
79
+ export class Messaging {
80
+ broker;
81
+ boundApp;
82
+ constructor(app) {
83
+ this.boundApp = app;
84
+ this.broker = getMessagingBroker(app.sandbox);
85
+ }
86
+ /** The app this `Messaging` instance is bound to (upstream `get app(): App`). */
87
+ get app() {
88
+ return this.boundApp;
89
+ }
90
+ /**
91
+ * Send one message. Resolves the FCM resource name
92
+ * `projects/<projectId>/messages/<id>` — numeric id for topic/condition
93
+ * targets, UUID-form for token targets. `dryRun` validates on the
94
+ * identical path and returns the SAME shape with a fake id (captured
95
+ * `dryRunSameShapeAsReal` / `realSendEnvelopeIdentical` parity).
96
+ */
97
+ async send(message, dryRun) {
98
+ try {
99
+ return this.broker.send(message, { validateOnly: dryRun === true }).name;
100
+ }
101
+ catch (error) {
102
+ rethrowWrapped(error);
103
+ }
104
+ }
105
+ /**
106
+ * Send up to 500 messages; the resolved `BatchResponse.responses` array is
107
+ * ordered to match the input, one entry per message.
108
+ */
109
+ async sendEach(messages, dryRun) {
110
+ if (!Array.isArray(messages) || messages.length === 0) {
111
+ throw invalidArgument('messages must be a non-empty array');
112
+ }
113
+ if (messages.length > 500) {
114
+ throw invalidArgument('messages list must not contain more than 500 items');
115
+ }
116
+ const responses = [];
117
+ for (const message of messages) {
118
+ try {
119
+ const name = this.broker.send(message, {
120
+ validateOnly: dryRun === true,
121
+ }).name;
122
+ responses.push({ success: true, messageId: name });
123
+ }
124
+ catch (error) {
125
+ const wrapped = error instanceof BrokerSendError
126
+ ? new MessagingError(clientErrorInfoFor(error.errorCode), error.envelope.error.message)
127
+ : error;
128
+ responses.push({
129
+ success: false,
130
+ error: wrapped,
131
+ });
132
+ }
133
+ }
134
+ const successCount = responses.filter((r) => r.success).length;
135
+ return { responses, successCount, failureCount: responses.length - successCount };
136
+ }
137
+ /** Fan a `MulticastMessage` (up to 500 tokens) out through {@link sendEach}. */
138
+ async sendEachForMulticast(message, dryRun) {
139
+ if (!Array.isArray(message?.tokens) || message.tokens.length === 0) {
140
+ throw invalidArgument('tokens must be a non-empty array');
141
+ }
142
+ if (message.tokens.length > 500) {
143
+ throw invalidArgument('tokens list must not contain more than 500 items');
144
+ }
145
+ const { tokens, ...base } = message;
146
+ return this.sendEach(tokens.map((token) => ({ ...base, token })), dryRun);
147
+ }
148
+ /** Subscribe one or many registration tokens to a topic. */
149
+ async subscribeToTopic(tokenOrTokens, topic) {
150
+ return this.manageTopic(tokenOrTokens, topic, 'subscribe');
151
+ }
152
+ /** Unsubscribe one or many registration tokens from a topic. */
153
+ async unsubscribeFromTopic(tokenOrTokens, topic) {
154
+ return this.manageTopic(tokenOrTokens, topic, 'unsubscribe');
155
+ }
156
+ manageTopic(tokenOrTokens, topic, action) {
157
+ const tokens = Array.isArray(tokenOrTokens) ? tokenOrTokens : [tokenOrTokens];
158
+ if (tokens.length === 0) {
159
+ throw invalidArgument('registration token(s) must be a non-empty string or a non-empty array');
160
+ }
161
+ let outcome;
162
+ try {
163
+ outcome =
164
+ action === 'subscribe'
165
+ ? this.broker.subscribeToTopic(tokens, topic)
166
+ : this.broker.unsubscribeFromTopic(tokens, topic);
167
+ }
168
+ catch (error) {
169
+ rethrowWrapped(error);
170
+ }
171
+ return {
172
+ successCount: outcome.successCount,
173
+ failureCount: outcome.failureCount,
174
+ errors: outcome.errors.map(({ index, reason }) => ({
175
+ index,
176
+ error: (reason === 'unregistered-token'
177
+ ? new MessagingError(ErrorCodes.REGISTRATION_TOKEN_NOT_REGISTERED)
178
+ : new MessagingError(ErrorCodes.INVALID_REGISTRATION_TOKEN ?? ErrorCodes.INVALID_ARGUMENT)),
179
+ })),
180
+ };
181
+ }
182
+ /**
183
+ * Force HTTP/1.1 for batch sends — deprecated upstream; the sandbox has
184
+ * no HTTP transport, so this is a recorded no-op.
185
+ */
186
+ enableLegacyHttpTransport() {
187
+ // No transport to reconfigure in the sandbox.
188
+ }
189
+ }
190
+ // ── Dispatch + default-app resolution ────────────────────────────────────────
191
+ const sandboxInstances = new WeakMap();
192
+ /**
193
+ * The implicit conformance-climb app: minted only under `PYRIC_CLIMB=1`
194
+ * when no `'[DEFAULT]'` app is registered, and deliberately NOT placed in
195
+ * the app registry (so `getApps()` and later `initializeApp()` calls are
196
+ * unaffected by the WIP messaging surface).
197
+ */
198
+ let climbDefaultApp = null;
199
+ function resolveApp(app) {
200
+ if (app !== undefined)
201
+ return app;
202
+ try {
203
+ return getApp();
204
+ }
205
+ catch (error) {
206
+ if (process.env.PYRIC_CLIMB === '1') {
207
+ climbDefaultApp ??= {
208
+ [ADMIN_APP_TARGET]: 'sandbox',
209
+ sandbox: initializeSandbox(),
210
+ name: '[pyric-messaging-climb]',
211
+ };
212
+ return climbDefaultApp;
213
+ }
214
+ throw error; // firebase-admin's exact app/no-app
215
+ }
216
+ }
217
+ /**
218
+ * Return the broker-backed `Messaging` service for the default or given
219
+ * sandbox admin app.
220
+ */
221
+ export function getMessaging(app) {
222
+ const resolved = resolveApp(app);
223
+ assertAdminAppActive(resolved);
224
+ const existing = sandboxInstances.get(resolved);
225
+ if (existing !== undefined)
226
+ return existing;
227
+ const instance = new Messaging(resolved);
228
+ sandboxInstances.set(resolved, instance);
229
+ return instance;
230
+ }
231
+ /**
232
+ * Namespaced / legacy accessor — the `admin.messaging(app?)` equivalent of
233
+ * {@link getMessaging}.
234
+ */
235
+ export function messaging(app) {
236
+ return getMessaging(app);
237
+ }
238
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"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"}