@adonoustech/bacon-core 6.9.0 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonoustech/bacon-core",
3
- "version": "6.9.0",
3
+ "version": "6.10.0",
4
4
  "scripts": {
5
5
  "build:cjs": "tsc -p tsconfig.cjs.json",
6
6
  "build:es": "tsc -p tsconfig.es.json",
@@ -39,5 +39,5 @@
39
39
  "bugs": {
40
40
  "url": "https://github.com/AdonousTech/bacon-core/issues"
41
41
  },
42
- "gitHead": "7147c95ba23e9c854c4cd1a4b9ff8b25befe8021"
42
+ "gitHead": "36b5fa02aa3fb98729aefe0ae754cb3f8f02f1be"
43
43
  }
@@ -0,0 +1,25 @@
1
+ import { BaconBaseBrokerRequestEvent } from "../base";
2
+ import { BaconBusinessLayerKinds } from "../enums";
3
+
4
+ /**
5
+ * Input command for raw email requests.
6
+ * Contains the base64-encoded raw MIME message.
7
+ */
8
+ export interface RawEmailCommandInput {
9
+ /** Base64-encoded raw MIME email message */
10
+ rawMessage: string;
11
+ }
12
+
13
+ /**
14
+ * Request event for sending raw MIME emails via SES.
15
+ * Used when emails need attachments (SES templates don't support attachments).
16
+ *
17
+ * @description The rawMessage should be a complete MIME multipart message
18
+ * encoded as base64. The Lambda will decode it and send via SES SendEmailCommand
19
+ * with Content.Raw.Data.
20
+ */
21
+ export class BaconRawEmailRequestEvent extends BaconBaseBrokerRequestEvent {
22
+ constructor(inputCommand: RawEmailCommandInput) {
23
+ super(BaconBusinessLayerKinds.BaconRawEmailRequestEvent, inputCommand);
24
+ }
25
+ }
@@ -6,6 +6,7 @@ export * from './BaconAdminInitRequestEvt';
6
6
  export * from './BaconAiContextCompletionReqEvt';
7
7
  export * from './BaconCognitoAdminRequestEvent';
8
8
  export * from './BaconEmailRequestEvent';
9
+ export * from './BaconRawEmailRequestEvent';
9
10
  export * from './BaconSP';
10
11
  export * from './BaconSuperAdmin';
11
12
  export * from './BaconGenericLoggerEvent';
@@ -9,5 +9,6 @@ export const enum BaconBusinessLayerKinds {
9
9
  BaconStripeRequestEvent = "BaconStripeRequestEvent",
10
10
  BaconUIPassthroughInputEvent = "BaconUIPassthroughInputEvent",
11
11
  BaconAdminInitRequestEvent = "BaconAdminInitRequestEvent",
12
- BaconEmailRequestEvent = "BaconEmailRequestEvent"
12
+ BaconEmailRequestEvent = "BaconEmailRequestEvent",
13
+ BaconRawEmailRequestEvent = "BaconRawEmailRequestEvent"
13
14
  }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * V2 Action Item Attachment - File attachment metadata for action items
3
+ *
4
+ * @description Files are stored in the client's S3 protected folder at:
5
+ * protected/{clientIdentityId}/accounting/{year}/action-items/{actionInstanceId}/{filename}
6
+ */
7
+ export interface IActionItemAttachmentV2 {
8
+ /** Unique attachment identifier */
9
+ attachmentId: string;
10
+
11
+ /** Original filename */
12
+ fileName: string;
13
+
14
+ /** File MIME type (e.g., 'application/pdf', 'image/png') */
15
+ mimeType: string;
16
+
17
+ /** File size in bytes */
18
+ fileSize: number;
19
+
20
+ /** S3 key (relative path within protected folder, e.g., 'accounting/2025/action-items/{actionInstanceId}/file.pdf') */
21
+ s3Key: string;
22
+
23
+ /** ISO timestamp when file was uploaded */
24
+ uploadedAt: string;
25
+
26
+ /** Display name of admin who uploaded the file */
27
+ uploadedBy: string;
28
+
29
+ /** Cognito sub of the admin who uploaded */
30
+ uploadedBySub: string;
31
+ }
@@ -9,6 +9,7 @@
9
9
  * - Typed correspondence array
10
10
  */
11
11
 
12
+ import { IActionItemAttachmentV2 } from './i-action-item-attachment-v2';
12
13
  import { IActionItemCorrespondenceV2 } from './i-action-item-correspondence-v2';
13
14
  import { IActionItemReminderRecord } from './i-action-item-reminder-record';
14
15
 
@@ -88,6 +89,9 @@ export interface IActionItemV2 {
88
89
  /** Correspondence/messages thread */
89
90
  correspondence: IActionItemCorrespondenceV2[];
90
91
 
92
+ /** File attachments added by admin when creating the action item */
93
+ attachments?: IActionItemAttachmentV2[];
94
+
91
95
  /** Admin who created this action item */
92
96
  creator: string;
93
97
 
@@ -151,6 +151,9 @@ export interface IAdminClientDetail {
151
151
  /** User unique identifier (Cognito sub) */
152
152
  sub: string;
153
153
 
154
+ /** Client's federated identity ID for S3 access */
155
+ federatedIdentity: string;
156
+
154
157
  /** Client display name */
155
158
  name: string;
156
159
 
@@ -41,6 +41,7 @@ export * from './i-token-time';
41
41
 
42
42
  // Action Items V2
43
43
  export * from './i-action-item-v2';
44
+ export * from './i-action-item-attachment-v2';
44
45
  export * from './i-action-item-correspondence-v2';
45
46
  export * from './i-action-item-reminder-record';
46
47
  export * from './i-action-item-template';