crewly 1.20.407 → 1.20.409

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 (86) hide show
  1. package/dist/backend/backend/src/constants.d.ts +34 -0
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +34 -0
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/activity/activity.controller.d.ts +29 -0
  6. package/dist/backend/backend/src/controllers/activity/activity.controller.d.ts.map +1 -0
  7. package/dist/backend/backend/src/controllers/activity/activity.controller.js +77 -0
  8. package/dist/backend/backend/src/controllers/activity/activity.controller.js.map +1 -0
  9. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  10. package/dist/backend/backend/src/controllers/google/google.controller.js +3 -0
  11. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/team/team-charter.controller.d.ts.map +1 -1
  13. package/dist/backend/backend/src/controllers/team/team-charter.controller.js +7 -0
  14. package/dist/backend/backend/src/controllers/team/team-charter.controller.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.d.ts.map +1 -1
  16. package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.js +5 -1
  17. package/dist/backend/backend/src/controllers/team/team-model-tiers.controller.js.map +1 -1
  18. package/dist/backend/backend/src/controllers/team/team-pause.controller.d.ts.map +1 -1
  19. package/dist/backend/backend/src/controllers/team/team-pause.controller.js +9 -0
  20. package/dist/backend/backend/src/controllers/team/team-pause.controller.js.map +1 -1
  21. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  22. package/dist/backend/backend/src/controllers/team/team.controller.js +49 -0
  23. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  24. package/dist/backend/backend/src/controllers/team-move/team-move.controller.d.ts.map +1 -1
  25. package/dist/backend/backend/src/controllers/team-move/team-move.controller.js +2 -0
  26. package/dist/backend/backend/src/controllers/team-move/team-move.controller.js.map +1 -1
  27. package/dist/backend/backend/src/routes/modules/system.routes.d.ts.map +1 -1
  28. package/dist/backend/backend/src/routes/modules/system.routes.js +3 -0
  29. package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -1
  30. package/dist/backend/backend/src/services/activity/activity-log.service.d.ts +192 -0
  31. package/dist/backend/backend/src/services/activity/activity-log.service.d.ts.map +1 -0
  32. package/dist/backend/backend/src/services/activity/activity-log.service.js +349 -0
  33. package/dist/backend/backend/src/services/activity/activity-log.service.js.map +1 -0
  34. package/dist/backend/backend/src/services/browser/browser-approval.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/browser/browser-approval.service.js +7 -0
  36. package/dist/backend/backend/src/services/browser/browser-approval.service.js.map +1 -1
  37. package/dist/backend/backend/src/services/budget/team-budget-gate.service.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/budget/team-budget-gate.service.js +9 -0
  39. package/dist/backend/backend/src/services/budget/team-budget-gate.service.js.map +1 -1
  40. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +13 -0
  41. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/decisions/decision.service.js +39 -0
  43. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/decisions/decision.wiring.js +2 -0
  46. package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
  47. package/dist/backend/backend/src/services/google/gmail-send-approval.service.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/google/gmail-send-approval.service.js +26 -0
  49. package/dist/backend/backend/src/services/google/gmail-send-approval.service.js.map +1 -1
  50. package/dist/backend/build-info.json +2 -2
  51. package/dist/cli/backend/src/constants.d.ts +34 -0
  52. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  53. package/dist/cli/backend/src/constants.js +34 -0
  54. package/dist/cli/backend/src/constants.js.map +1 -1
  55. package/dist/cli/backend/src/middleware/agent-origin-correction.d.ts +31 -0
  56. package/dist/cli/backend/src/middleware/agent-origin-correction.d.ts.map +1 -0
  57. package/dist/cli/backend/src/middleware/agent-origin-correction.js +31 -0
  58. package/dist/cli/backend/src/middleware/agent-origin-correction.js.map +1 -0
  59. package/dist/cli/backend/src/middleware/api-token.middleware.d.ts +171 -0
  60. package/dist/cli/backend/src/middleware/api-token.middleware.d.ts.map +1 -0
  61. package/dist/cli/backend/src/middleware/api-token.middleware.js +329 -0
  62. package/dist/cli/backend/src/middleware/api-token.middleware.js.map +1 -0
  63. package/dist/cli/backend/src/middleware/caller-identity.middleware.d.ts +290 -0
  64. package/dist/cli/backend/src/middleware/caller-identity.middleware.d.ts.map +1 -0
  65. package/dist/cli/backend/src/middleware/caller-identity.middleware.js +658 -0
  66. package/dist/cli/backend/src/middleware/caller-identity.middleware.js.map +1 -0
  67. package/dist/cli/backend/src/middleware/require-auth.middleware.d.ts +60 -0
  68. package/dist/cli/backend/src/middleware/require-auth.middleware.d.ts.map +1 -0
  69. package/dist/cli/backend/src/middleware/require-auth.middleware.js +127 -0
  70. package/dist/cli/backend/src/middleware/require-auth.middleware.js.map +1 -0
  71. package/dist/cli/backend/src/services/activity/activity-log.service.d.ts +192 -0
  72. package/dist/cli/backend/src/services/activity/activity-log.service.d.ts.map +1 -0
  73. package/dist/cli/backend/src/services/activity/activity-log.service.js +349 -0
  74. package/dist/cli/backend/src/services/activity/activity-log.service.js.map +1 -0
  75. package/dist/cli/backend/src/services/budget/team-budget-gate.service.d.ts.map +1 -1
  76. package/dist/cli/backend/src/services/budget/team-budget-gate.service.js +9 -0
  77. package/dist/cli/backend/src/services/budget/team-budget-gate.service.js.map +1 -1
  78. package/dist/cli/backend/src/services/core/peer-process.service.d.ts +168 -0
  79. package/dist/cli/backend/src/services/core/peer-process.service.d.ts.map +1 -0
  80. package/dist/cli/backend/src/services/core/peer-process.service.js +352 -0
  81. package/dist/cli/backend/src/services/core/peer-process.service.js.map +1 -0
  82. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +13 -0
  83. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  84. package/dist/cli/backend/src/services/decisions/decision.service.js +39 -0
  85. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  86. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caller-identity.middleware.js","sourceRoot":"","sources":["../../../../../backend/src/middleware/caller-identity.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Authentication Middleware
3
+ *
4
+ * Verifies JWT tokens from the Authorization header and attaches
5
+ * decoded user info to the request. Supports both Supabase JWTs
6
+ * (via JWKS) and locally-signed JWTs (via CREWLY_JWT_SECRET).
7
+ *
8
+ * In development mode (NODE_ENV !== 'production' and no JWT secret),
9
+ * falls through with a placeholder user to allow local testing.
10
+ *
11
+ * @module middleware/require-auth
12
+ */
13
+ import type { Request, Response, NextFunction } from 'express';
14
+ /** Shape of the decoded JWT payload we expect */
15
+ export interface JwtPayload {
16
+ /** Subject — the user's unique ID */
17
+ sub: string;
18
+ /** User email address */
19
+ email?: string;
20
+ /** Subscription plan tier */
21
+ plan?: string;
22
+ /** Token issued-at timestamp (seconds) */
23
+ iat?: number;
24
+ /** Token expiration timestamp (seconds) */
25
+ exp?: number;
26
+ }
27
+ /** User object attached to authenticated requests */
28
+ export interface AuthUser {
29
+ userId: string;
30
+ email: string;
31
+ plan?: string;
32
+ }
33
+ /** Extended Request type with user attached */
34
+ export interface AuthenticatedRequest extends Request {
35
+ user: AuthUser;
36
+ }
37
+ /**
38
+ * Verify and decode an HS256 JWT token.
39
+ *
40
+ * @param token - The raw JWT string
41
+ * @param secret - HMAC secret for signature verification
42
+ * @returns Decoded payload or null if verification fails
43
+ */
44
+ export declare function verifyHs256Token(token: string, secret: string): JwtPayload | null;
45
+ /**
46
+ * Express middleware that enforces JWT authentication.
47
+ *
48
+ * Reads the token from the Authorization header (Bearer scheme).
49
+ * On success, attaches `user` to the request. On failure, responds
50
+ * with 401.
51
+ *
52
+ * In development (no JWT_SECRET and NODE_ENV !== 'production'),
53
+ * falls through with a dev placeholder user.
54
+ *
55
+ * @param req - Express request
56
+ * @param res - Express response
57
+ * @param next - Express next function
58
+ */
59
+ export declare const requireAuth: (req: Request, res: Response, next: NextFunction) => void;
60
+ //# sourceMappingURL=require-auth.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-auth.middleware.d.ts","sourceRoot":"","sources":["../../../../../backend/src/middleware/require-auth.middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM/D,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,EAAE,QAAQ,CAAC;CAChB;AAaD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA6CjF;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IA8C7E,CAAC"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Authentication Middleware
3
+ *
4
+ * Verifies JWT tokens from the Authorization header and attaches
5
+ * decoded user info to the request. Supports both Supabase JWTs
6
+ * (via JWKS) and locally-signed JWTs (via CREWLY_JWT_SECRET).
7
+ *
8
+ * In development mode (NODE_ENV !== 'production' and no JWT secret),
9
+ * falls through with a placeholder user to allow local testing.
10
+ *
11
+ * @module middleware/require-auth
12
+ */
13
+ import { createHmac, timingSafeEqual } from 'crypto';
14
+ import { LoggerService } from '../services/core/logger.service.js';
15
+ const logger = LoggerService.getInstance().createComponentLogger('AuthMiddleware');
16
+ /**
17
+ * Base64url decode a string segment.
18
+ *
19
+ * @param input - Base64url encoded string
20
+ * @returns Decoded UTF-8 string
21
+ */
22
+ function base64UrlDecode(input) {
23
+ const padded = input.replace(/-/g, '+').replace(/_/g, '/');
24
+ return Buffer.from(padded, 'base64').toString('utf-8');
25
+ }
26
+ /**
27
+ * Verify and decode an HS256 JWT token.
28
+ *
29
+ * @param token - The raw JWT string
30
+ * @param secret - HMAC secret for signature verification
31
+ * @returns Decoded payload or null if verification fails
32
+ */
33
+ export function verifyHs256Token(token, secret) {
34
+ const parts = token.split('.');
35
+ if (parts.length !== 3) {
36
+ return null;
37
+ }
38
+ const [headerB64, payloadB64, signatureB64] = parts;
39
+ // Verify header is HS256
40
+ try {
41
+ const header = JSON.parse(base64UrlDecode(headerB64));
42
+ if (header.alg !== 'HS256') {
43
+ return null;
44
+ }
45
+ }
46
+ catch {
47
+ return null;
48
+ }
49
+ // Verify signature
50
+ const signatureInput = `${headerB64}.${payloadB64}`;
51
+ const expectedSig = createHmac('sha256', secret)
52
+ .update(signatureInput)
53
+ .digest('base64url');
54
+ // Timing-safe comparison
55
+ const sigBuf = Buffer.from(signatureB64);
56
+ const expectedBuf = Buffer.from(expectedSig);
57
+ if (sigBuf.length !== expectedBuf.length || !timingSafeEqual(sigBuf, expectedBuf)) {
58
+ return null;
59
+ }
60
+ // Decode payload
61
+ try {
62
+ const payload = JSON.parse(base64UrlDecode(payloadB64));
63
+ // Check expiration
64
+ if (payload.exp && payload.exp < Math.floor(Date.now() / 1000)) {
65
+ return null;
66
+ }
67
+ return payload;
68
+ }
69
+ catch {
70
+ return null;
71
+ }
72
+ }
73
+ /**
74
+ * Express middleware that enforces JWT authentication.
75
+ *
76
+ * Reads the token from the Authorization header (Bearer scheme).
77
+ * On success, attaches `user` to the request. On failure, responds
78
+ * with 401.
79
+ *
80
+ * In development (no JWT_SECRET and NODE_ENV !== 'production'),
81
+ * falls through with a dev placeholder user.
82
+ *
83
+ * @param req - Express request
84
+ * @param res - Express response
85
+ * @param next - Express next function
86
+ */
87
+ export const requireAuth = (req, res, next) => {
88
+ const jwtSecret = process.env['CREWLY_JWT_SECRET'];
89
+ const isProduction = process.env['NODE_ENV'] === 'production';
90
+ // Extract Bearer token
91
+ const authHeader = req.headers.authorization;
92
+ const token = authHeader?.startsWith('Bearer ') ? authHeader.slice(7) : null;
93
+ // If JWT secret is configured, enforce real auth
94
+ if (jwtSecret) {
95
+ if (!token) {
96
+ res.status(401).json({ success: false, error: 'Authorization header required' });
97
+ return;
98
+ }
99
+ const payload = verifyHs256Token(token, jwtSecret);
100
+ if (!payload || !payload.sub) {
101
+ res.status(401).json({ success: false, error: 'Invalid or expired token' });
102
+ return;
103
+ }
104
+ req.user = {
105
+ userId: payload.sub,
106
+ email: payload.email ?? '',
107
+ plan: payload.plan,
108
+ };
109
+ next();
110
+ return;
111
+ }
112
+ // No JWT secret configured
113
+ if (isProduction) {
114
+ logger.error('CREWLY_JWT_SECRET not set in production — blocking request');
115
+ res.status(500).json({ success: false, error: 'Server authentication not configured' });
116
+ return;
117
+ }
118
+ // Development fallback: allow requests with a dev placeholder
119
+ logger.warn('Auth middleware in dev mode — using placeholder user');
120
+ req.user = {
121
+ userId: 'dev-user-001',
122
+ email: 'dev@crewly.local',
123
+ plan: 'max',
124
+ };
125
+ next();
126
+ };
127
+ //# sourceMappingURL=require-auth.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-auth.middleware.js","sourceRoot":"","sources":["../../../../../backend/src/middleware/require-auth.middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ import { type ComponentLogger } from '../core/logger.service.js';
2
+ import { type CallerIdentity, type IdentifiableRequest } from '../../middleware/caller-identity.middleware.js';
3
+ /** Who acted. */
4
+ export type ActivityActorType = 'owner' | 'agent' | 'system';
5
+ /** The actor of an entry. */
6
+ export interface ActivityActor {
7
+ /** Owner, an agent, or Crewly itself (schedulers, deadlines, anonymous local calls) */
8
+ type: ActivityActorType;
9
+ /** The agent session, Slack user id, scheduler name, … when known */
10
+ id?: string;
11
+ /** How the actor was recognised (`owner-session`, `api-token`, `agent-badge`, `deadline`, …) */
12
+ via?: string;
13
+ }
14
+ /** What an entry is about. */
15
+ export interface ActivityTarget {
16
+ /** `team`, `member`, `decision`, … */
17
+ type: string;
18
+ id: string;
19
+ /** Display name at the time of the action */
20
+ name?: string;
21
+ }
22
+ /** One line of the log. */
23
+ export interface ActivityEntry {
24
+ id: string;
25
+ /** ISO timestamp */
26
+ ts: string;
27
+ actor: ActivityActor;
28
+ /** Dotted, past tense: `team.member.updated`, `decision.resolved` */
29
+ action: string;
30
+ target: ActivityTarget;
31
+ /** Changed fields before the action (masked, truncated) */
32
+ before?: Record<string, unknown>;
33
+ /** Changed fields after the action (masked, truncated) */
34
+ after?: Record<string, unknown>;
35
+ /** The Crewly Request this happened under, when known */
36
+ requestId?: string;
37
+ /** The WorkItem this happened under, when known */
38
+ workItemId?: string;
39
+ /** Short free text (an answer, a reason) */
40
+ note?: string;
41
+ }
42
+ /** What a writer hands in; id and timestamp are filled here. */
43
+ export type ActivityEntryInput = Omit<ActivityEntry, 'id' | 'ts'> & {
44
+ ts?: string;
45
+ };
46
+ /** Filters of a read. All optional; `action` and ids match exactly, `action` also by `prefix.` */
47
+ export interface ActivityQuery {
48
+ actorType?: ActivityActorType;
49
+ actorId?: string;
50
+ /** Exact action, or a dotted prefix such as `team.` */
51
+ action?: string;
52
+ targetType?: string;
53
+ targetId?: string;
54
+ /** ISO timestamp (inclusive) */
55
+ since?: string;
56
+ /** ISO timestamp (inclusive) */
57
+ until?: string;
58
+ limit?: number;
59
+ }
60
+ /** File operations the log uses (injectable to simulate failures). */
61
+ export interface ActivityFsOps {
62
+ mkdir(dir: string, opts: {
63
+ recursive: true;
64
+ }): Promise<unknown>;
65
+ appendFile(file: string, data: string): Promise<void>;
66
+ readFile(file: string): Promise<string>;
67
+ readdir(dir: string): Promise<string[]>;
68
+ }
69
+ /** Construction options. */
70
+ export interface ActivityLogOptions {
71
+ /** Log directory (default `<CREWLY_HOME>/activity-log`) */
72
+ dir?: string;
73
+ fs?: ActivityFsOps;
74
+ now?: () => Date;
75
+ logger?: ComponentLogger;
76
+ }
77
+ /**
78
+ * Whether a string names an actor type.
79
+ *
80
+ * @param value - Candidate
81
+ * @returns True for owner / agent / system
82
+ */
83
+ export declare function isActivityActorType(value: unknown): value is ActivityActorType;
84
+ /**
85
+ * Mask secret-looking keys and cut long strings, recursively. Arrays and plain
86
+ * objects are walked; anything else is kept as is.
87
+ *
88
+ * @param value - Any JSON-ish value
89
+ * @returns The value safe to write
90
+ */
91
+ export declare function maskForActivity(value: unknown): unknown;
92
+ /**
93
+ * The fields that differ between two shallow records, as a before / after
94
+ * pair (masked). Equal fields are left out so an entry shows only the change;
95
+ * a key absent on one side appears as `undefined` → left out of that side.
96
+ *
97
+ * @param before - Record before the change (null when created)
98
+ * @param after - Record after the change (null when deleted)
99
+ * @returns Masked before / after summaries, each undefined when empty
100
+ */
101
+ export declare function summarizeChange(before: Record<string, unknown> | null | undefined, after: Record<string, unknown> | null | undefined): {
102
+ before?: Record<string, unknown>;
103
+ after?: Record<string, unknown>;
104
+ };
105
+ /**
106
+ * The actor behind a caller identity: owner credentials (dashboard session,
107
+ * API token, phone / portal relay, cloud) are the owner; an agent is itself;
108
+ * schedulers and anonymous local calls are the system.
109
+ *
110
+ * @param identity - What the caller-identity middleware decided
111
+ * @returns The actor
112
+ */
113
+ export declare function actorFromCaller(identity: CallerIdentity): ActivityActor;
114
+ /**
115
+ * The actor of an HTTP request. Never throws.
116
+ *
117
+ * @param req - Request
118
+ * @returns The actor
119
+ */
120
+ export declare function actorFromRequest(req: IdentifiableRequest): ActivityActor;
121
+ /**
122
+ * The append-only activity log.
123
+ */
124
+ export declare class ActivityLogService {
125
+ private readonly dir;
126
+ private readonly fs;
127
+ private readonly now;
128
+ private readonly logger;
129
+ private chain;
130
+ private dirReady;
131
+ private seq;
132
+ /**
133
+ * @param options - Directory, file ops, clock, logger (all optional)
134
+ */
135
+ constructor(options?: ActivityLogOptions);
136
+ /**
137
+ * Append one entry. Returns at once; the write is chained after earlier
138
+ * writes and a failure is logged, never thrown.
139
+ *
140
+ * @param input - The entry without id / timestamp
141
+ * @returns The entry as it will be written
142
+ */
143
+ record(input: ActivityEntryInput): ActivityEntry;
144
+ /**
145
+ * Wait for every write handed in so far.
146
+ *
147
+ * @returns When the chain is idle
148
+ */
149
+ flush(): Promise<void>;
150
+ /**
151
+ * Read entries newest first.
152
+ *
153
+ * @param query - Filters and limit
154
+ * @returns Matching entries, newest first, at most `limit`
155
+ */
156
+ list(query?: ActivityQuery): Promise<ActivityEntry[]>;
157
+ /**
158
+ * The monthly files worth opening for a query, newest first, bounded by
159
+ * MAX_FILES_PER_READ and by the query's time window.
160
+ *
161
+ * @param query - Filters (since / until narrow the months)
162
+ * @returns File names
163
+ */
164
+ private monthlyFiles;
165
+ /**
166
+ * The file an entry at a timestamp belongs to.
167
+ *
168
+ * @param ts - ISO timestamp
169
+ * @returns Absolute path
170
+ */
171
+ private fileFor;
172
+ }
173
+ /**
174
+ * The process-wide activity log.
175
+ *
176
+ * @returns The log (created on first use)
177
+ */
178
+ export declare function getActivityLog(): ActivityLogService;
179
+ /**
180
+ * Replace the process-wide log (tests).
181
+ *
182
+ * @param log - Log, or null to rebuild the default lazily
183
+ */
184
+ export declare function setActivityLogForTesting(log: ActivityLogService | null): void;
185
+ /**
186
+ * Append to the process-wide log without ever throwing. The one call writers
187
+ * make.
188
+ *
189
+ * @param input - The entry
190
+ */
191
+ export declare function recordActivity(input: ActivityEntryInput): void;
192
+ //# sourceMappingURL=activity-log.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-log.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/activity/activity-log.service.ts"],"names":[],"mappings":"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"}