@fourier-labs/harbour-contracts 0.41.0 → 0.43.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/README.md CHANGED
@@ -39,6 +39,10 @@ exist here first.
39
39
  | `sanitized-binding-evidence.schema.json` | Exact-version sanitized runtime-binding allocation receipt | AI governance §5.7 / SEC-UP-02 |
40
40
  | `ai-pricing-revision`, `ai-metering-policy`, `ai-budget-ledger-event`, `ai-trace-event-v2` | Additive metering v2 records, including media dimensions and P5 trace attribution; v1 records remain readable | AI governance §9 |
41
41
 
42
+ Runtime resource profiles are a closed contract shared by transformation, artifacts, and
43
+ well-defined application manifests. The supported profiles are `standard`, `memory-1g`, and
44
+ `memory-2g`; consumers must reject unrecognized raw CPU or memory overrides.
45
+
42
46
  Two schemas carry logic beyond structural types, generated into helpers:
43
47
 
44
48
  - **`error-category.enum.json`** → `IsRetryable(category)` (Go) / `isRetryable(category)` (TS),
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "schema": "harbour.contract-release/1.0",
3
- "repositoryVersion": "0.41.0.0",
4
- "publishVersion": "0.41.0",
5
- "publishTag": "v0.41.0",
6
- "schemasDigest": "sha256:c4cb346100e76c8936457e0453a6219db10e1240cd71dde33cfef2b672e97e35",
3
+ "repositoryVersion": "0.43.0.0",
4
+ "publishVersion": "0.43.0",
5
+ "publishTag": "v0.43.0",
6
+ "schemasDigest": "sha256:edf9f584487d94b99e35bbc08f3df1e33cb7329e76baa1938dfb7f3f02b97149",
7
7
  "aiFixturesDigest": "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6",
8
- "generatedGoDigest": "sha256:b667bd3bb2eb76f268c60ad756de962c32cdb30f56fdedc2693150c6ff5c5feb",
9
- "generatedTypeScriptDigest": "sha256:345aa69f8a745e004a50c9203d7abcf365edb6aedeb4e2886f89e3efd916afc9",
8
+ "generatedGoDigest": "sha256:91de8005eea148fa555ee3a0abb42eed255863ec282740b5cf191727c35cb7ef",
9
+ "generatedTypeScriptDigest": "sha256:c4bbb442e46e22531586b380689e04448a8c4e04aa7c03d66aceed50754a09c9",
10
10
  "generatedExclusions": {
11
11
  "gen-go/contract_release.go": "contains the generated aggregate digests (self-reference)",
12
12
  "gen-ts/contract-release.ts": "contains the generated aggregate digests (self-reference)"
@@ -31,12 +31,12 @@
31
31
  "schema/ai-transform-result.schema.json": "sha256:244e380a36957ab2dcb526ea22aaecb56b53664ce1fda6934d0021c084c99133",
32
32
  "schema/ai-verification-evidence.schema.json": "sha256:bdbc762df256d2a8dd0bdda60d4d13915ce40034cd756af9515871d145f10ad9",
33
33
  "schema/api-error-response.schema.json": "sha256:3d43d5bdf0b59c944e20509d832e6776c3ecdba4d6c245a9118bbe52062a8304",
34
- "schema/artifact-contract.schema.json": "sha256:bc9683cd5c62c231683906c70307412839458adb6f9273003c37dbab01a1cff3",
34
+ "schema/artifact-contract.schema.json": "sha256:8047b461a1c6d07bbe867a259c57bdf5cc0fdf282cf842ec7b683a9e93713b10",
35
35
  "schema/binding-classification-subject.schema.json": "sha256:a8825ce652e7e00a18759c4249bd5bcd0cae552dd58440513f867e87f685133c",
36
36
  "schema/data-dependency.schema.json": "sha256:89ba8481ccabc935e7dab5d13871c985839a751ad1586710d8382a15e1f3340c",
37
37
  "schema/data-grant.schema.json": "sha256:e640553831ecc1c01cc9a37fe388b84d0ffeaa0d0050e63712b48f65fa437c8a",
38
38
  "schema/data-source.schema.json": "sha256:aec8d2497dae9a91886a3df9f6fbbdb3d3fcab44b14fbcacc3f5e99b827f1bba",
39
- "schema/deploy-request.schema.json": "sha256:bfcef417bd76dc64ff97264fa42994d7f5856578ba1a0c4feac5349c280abf12",
39
+ "schema/deploy-request.schema.json": "sha256:32531e21983cdfeec511f8b4cddd4dad6530cd90e4e9fe147225d78d138b6198",
40
40
  "schema/deploy-response.schema.json": "sha256:09064948abdbba7022738285d802ed44648a16ddc2a5b8c2eeb170ae19a66aeb",
41
41
  "schema/deployment-environment.schema.json": "sha256:3f1325d5579b3fc47d02c83b6ac0657108909b1dfb901f68203c9c8b668c2ef4",
42
42
  "schema/deployment-source.schema.json": "sha256:256988b1efbfc90bd0e1ae31a2c5d69b20ef1e4471dc24c9f9aa759278270fbe",
@@ -49,13 +49,13 @@
49
49
  "schema/kvs-routing-entry.schema.json": "sha256:b75f3a5dfa93a428b2764e03222b66b6ef2bed980f8bac8ffac54afdf3526bc5",
50
50
  "schema/promotion-request.schema.json": "sha256:00e96dfd8ddbdba88ea222941d43f3609ff6c815a79e34f6705cab458101c969",
51
51
  "schema/promotion-response.schema.json": "sha256:4129712d2e29d6ef21d93d4bd0bacfd60ada3f2ee0ade852824e64346b817634",
52
- "schema/sanitized-binding-evidence.schema.json": "sha256:b03bcc1911c99c69fda50eb656fc3e115f88fe2990c1708fbb5cd3542f4b8bba",
53
- "schema/secret-reference.schema.json": "sha256:966f7a6d2575b46a4b54804d06dc05c6229ebbcbd9200fe6a6c8d3b4ffb90f9f",
52
+ "schema/sanitized-binding-evidence.schema.json": "sha256:1191ab88e2764df927e5f17837674cebebe068d480da2b2fdb390e589f96b51f",
53
+ "schema/secret-reference.schema.json": "sha256:db4e3c2c6a2dbd72d7ea0f9c91cb3b2343a7e67b601996c6818b2ef08e440895",
54
54
  "schema/security-scan-input.schema.json": "sha256:83502dffb3c07ac2e0698928e6dc123f454fc667d4aacd336bcad6944ef2ac3d",
55
55
  "schema/security-verdict.schema.json": "sha256:ec3c2d5c9df3601aeed0909b36c7f427469c7f0eeb3295c5809b96d09bf3fc26",
56
- "schema/transform-report.schema.json": "sha256:571bbf5112ce5b094caae44cb892ea0ab86392c33fc2d562dabddf28fd28c2a2",
56
+ "schema/transform-report.schema.json": "sha256:5943c90ad7a8b473119dde5879c59ed384d5dc19253b90bc3507dd1ff4dd9abe",
57
57
  "schema/version-state.schema.json": "sha256:3b190007e2f8e3821c41ef11c6f5b226da7d5a18d34d4077f4618004846fd444",
58
- "schema/well-defined-app-manifest.schema.json": "sha256:d863433d7b68260a08aa0d33f897526c8f74f5f0ee8d242a6dd6c0bb23e60987"
58
+ "schema/well-defined-app-manifest.schema.json": "sha256:75a06690411880e670f133066a7a469150b53560b9dafa2f066a04485e4b50a0"
59
59
  },
60
60
  "aiFixtures": {
61
61
  "fixtures/ai/adversarial-binding-classification-value.json": "sha256:ca009f3f6162a9d93b4ab416d52c1fba12a8a15aca5aed956c5fdcf2171b1e28",
@@ -93,8 +93,8 @@
93
93
  "gen-go/contracts_test.go": "sha256:56376287cb1548be1b35ab4c65d6f0b558c5d34885f7a47cb3d9e8d786607bf5",
94
94
  "gen-go/doc.go": "sha256:c17bc2d39ed175ce7105c68305f8ae7152f659eb7cd187ecceee7698eb3a65dd",
95
95
  "gen-go/error_category.go": "sha256:b2ddea22dcfa030f1a45e721e635485b0bd816cf1f38e7654628a653f5ed4583",
96
- "gen-go/schema_documents.go": "sha256:1269f5f97997661b27e3a6de0373f192be1a08a0c4424d034c9d0860922b1fed",
97
- "gen-go/types.go": "sha256:b7fea49ec76820b97d5d1bc1b82800043b315ffa50a5f836a88f68e17a692d45",
96
+ "gen-go/schema_documents.go": "sha256:b6973afc9e72713062421f4bcc9dee136a971cf998daff4e0724f8be4a2b5051",
97
+ "gen-go/types.go": "sha256:b064ad533a736bef735bdf9629237b0b635d138cbb099d6d3f23adb679fc3cff",
98
98
  "gen-go/version_state.go": "sha256:4ef8abb126414c0025cf2c59bc9c79a74ef4a2ff89e8f316cbf05acc872371c1"
99
99
  },
100
100
  "generatedTypeScript": {
@@ -119,13 +119,13 @@
119
119
  "gen-ts/ai-transform-result.ts": "sha256:208c66b2aeb425c0cbcc18b7191f6e8989443f2b2c1690648e0e06cc1448ce25",
120
120
  "gen-ts/ai-verification-evidence.ts": "sha256:979439d77f8b47631d1eb3b6c3c54ea6fec41089d2a51dc815fd370b1c4917fc",
121
121
  "gen-ts/api-error-response.ts": "sha256:0fd73be282e7a5d72d6c343a4e64d09c232556b16161167f0cffd6278ed7e3d3",
122
- "gen-ts/artifact-contract.ts": "sha256:ad39ac5a2bcc9462e206101c9792e92fd11ef721e26de9a40043a4ba00dd7350",
122
+ "gen-ts/artifact-contract.ts": "sha256:4a6dc6d2caaeed4bb2066cc8a333e6e09e5a0d4745e0b1038293d54ab9403aeb",
123
123
  "gen-ts/binding-classification-digest-helper.ts": "sha256:40fc7d85b4c3f3ffc5caf7d7950c62d013c83ee42058c7453b2100d95817f167",
124
124
  "gen-ts/binding-classification-subject.ts": "sha256:c409a3fd7b942b50419632c51d9a79474fb30d6374bdc79c0e25c73618e800c3",
125
125
  "gen-ts/data-dependency.ts": "sha256:0572c31d7ae9088eccc104eee1a205bf176d1d6dacfaf0f290d666024e284966",
126
126
  "gen-ts/data-grant.ts": "sha256:2358579d8aa1e57b01a6f2b0eacce5531e7f21ef226404c9809925365e0d6155",
127
127
  "gen-ts/data-source.ts": "sha256:77d6bb3b0eaa355789c5d97dd1f548734add6950329dc69549350b8d17c8d582",
128
- "gen-ts/deploy-request.ts": "sha256:f685210f3f4e48a04e64983d3e040d6601477df404b4f890d6ea49c91c475256",
128
+ "gen-ts/deploy-request.ts": "sha256:0214faa8be6680f0bfc117d5ce67c1a59fcc18bd0ea4bc840e03e7d051fa9ab6",
129
129
  "gen-ts/deploy-response.ts": "sha256:364d9f1acf32e491498237cdd3f402d5f8e102f208db7748034f4ec68c6a6137",
130
130
  "gen-ts/deployment-environment.ts": "sha256:bbd6eec3a1631b13a8de6e6b95081696f7be01d0bd2bf1b7a9e3a1db809a727c",
131
131
  "gen-ts/deployment-source.ts": "sha256:8ccb55aaa7260eb6d19a00987d6a20a4b514e343564da13f27cd7fee8013500a",
@@ -141,13 +141,13 @@
141
141
  "gen-ts/promotion-request.ts": "sha256:9db88cef67f777a16bac628039ec3f582acb9e8cfff6fb592b30d0a0e55abc68",
142
142
  "gen-ts/promotion-response.ts": "sha256:f1c9cafac96faeb02a443a31786f67714e818f38d90108e7af41958396524d6f",
143
143
  "gen-ts/sanitized-binding-digest-helper.ts": "sha256:c47d7fdc20500e2e72c23fe39ecdd610fc397c47fcba51335ebec3c380fe6872",
144
- "gen-ts/sanitized-binding-evidence.ts": "sha256:4db7e9ed83f563a46e337815a55bbd6433864c41d9ec8e8a80810a16e3095ebb",
145
- "gen-ts/secret-reference.ts": "sha256:a8b65de72705b6f51f57cd8ca58881483108005b1fa4d19106c3e9cf1fa877e7",
144
+ "gen-ts/sanitized-binding-evidence.ts": "sha256:f3fb7b1d7d2e0929eb0ea981eaf32db3104010647185f6ae59f67167d42538a9",
145
+ "gen-ts/secret-reference.ts": "sha256:731fbcde7315cb4128d5b01bdbe6e6f248f13c7ad8dea04a3a4e927ac4890198",
146
146
  "gen-ts/security-scan-input.ts": "sha256:b31f048be04c34b40f49d3b3ba53277e473cd435ae9216ba3a3b4dac69fb5685",
147
147
  "gen-ts/security-verdict.ts": "sha256:fea950cddbd12fe0218e2573c9a29c6748d56612a464559f1e6d688fa97f68c7",
148
- "gen-ts/transform-report.ts": "sha256:efbe396f3f511420a7ee99f1a8fbe8764635b454f799bd3bb5b2ed747ba1e36f",
148
+ "gen-ts/transform-report.ts": "sha256:a4f7f895342cd63048b2add63393a1251abb3e97f057b00e3ebd3f96fd1a510e",
149
149
  "gen-ts/version-state-machine.ts": "sha256:c67af3e86ac306743345b850dfd3ae5201c19d10c40e2c149cf8c38258320d5f",
150
150
  "gen-ts/version-state.ts": "sha256:a835112930299e7b593a1b8810b7414f6c9e809da2092306c743128170a3b702",
151
- "gen-ts/well-defined-app-manifest.ts": "sha256:0c5c2fed747ad7f4c1034104c1acd9bb2e316f2c0b08a4ff3e2fab486f576a2f"
151
+ "gen-ts/well-defined-app-manifest.ts": "sha256:f29f8f2d0783e9e49d0546d65c2bedee2a6c2cebba0ec291ad52d9b67cb3a2fa"
152
152
  }
153
153
  }
@@ -83,7 +83,7 @@ export interface ArtifactContract {
83
83
  /**
84
84
  * Reviewed CPU/memory profile selected for the application container.
85
85
  */
86
- resource_profile?: 'standard' | 'memory-1g';
86
+ resource_profile?: 'standard' | 'memory-1g' | 'memory-2g';
87
87
  /**
88
88
  * Background-job execution mode. The sqs mode enables the governed application job queue and queue-aware scale-to-zero.
89
89
  */
@@ -1,7 +1,7 @@
1
- export declare const ContractRepositoryVersion: "0.41.0.0";
2
- export declare const ContractPublishVersion: "0.41.0";
3
- export declare const ContractPublishTag: "v0.41.0";
4
- export declare const ContractSchemasDigest: "sha256:c4cb346100e76c8936457e0453a6219db10e1240cd71dde33cfef2b672e97e35";
1
+ export declare const ContractRepositoryVersion: "0.43.0.0";
2
+ export declare const ContractPublishVersion: "0.43.0";
3
+ export declare const ContractPublishTag: "v0.43.0";
4
+ export declare const ContractSchemasDigest: "sha256:edf9f584487d94b99e35bbc08f3df1e33cb7329e76baa1938dfb7f3f02b97149";
5
5
  export declare const ContractAiFixturesDigest: "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
6
- export declare const ContractGeneratedGoDigest: "sha256:b667bd3bb2eb76f268c60ad756de962c32cdb30f56fdedc2693150c6ff5c5feb";
7
- export declare const ContractGeneratedTypeScriptDigest: "sha256:345aa69f8a745e004a50c9203d7abcf365edb6aedeb4e2886f89e3efd916afc9";
6
+ export declare const ContractGeneratedGoDigest: "sha256:91de8005eea148fa555ee3a0abb42eed255863ec282740b5cf191727c35cb7ef";
7
+ export declare const ContractGeneratedTypeScriptDigest: "sha256:c4bbb442e46e22531586b380689e04448a8c4e04aa7c03d66aceed50754a09c9";
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable */
2
2
  // Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
3
- export const ContractRepositoryVersion = "0.41.0.0";
4
- export const ContractPublishVersion = "0.41.0";
5
- export const ContractPublishTag = "v0.41.0";
6
- export const ContractSchemasDigest = "sha256:c4cb346100e76c8936457e0453a6219db10e1240cd71dde33cfef2b672e97e35";
3
+ export const ContractRepositoryVersion = "0.43.0.0";
4
+ export const ContractPublishVersion = "0.43.0";
5
+ export const ContractPublishTag = "v0.43.0";
6
+ export const ContractSchemasDigest = "sha256:edf9f584487d94b99e35bbc08f3df1e33cb7329e76baa1938dfb7f3f02b97149";
7
7
  export const ContractAiFixturesDigest = "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
8
- export const ContractGeneratedGoDigest = "sha256:b667bd3bb2eb76f268c60ad756de962c32cdb30f56fdedc2693150c6ff5c5feb";
9
- export const ContractGeneratedTypeScriptDigest = "sha256:345aa69f8a745e004a50c9203d7abcf365edb6aedeb4e2886f89e3efd916afc9";
8
+ export const ContractGeneratedGoDigest = "sha256:91de8005eea148fa555ee3a0abb42eed255863ec282740b5cf191727c35cb7ef";
9
+ export const ContractGeneratedTypeScriptDigest = "sha256:c4bbb442e46e22531586b380689e04448a8c4e04aa7c03d66aceed50754a09c9";
@@ -7,7 +7,7 @@ export type DeployRequestEnvironmentBinding = {
7
7
  */
8
8
  name: string;
9
9
  /**
10
- * secretref URI resolved at runtime; the value never appears in the request.
10
+ * secretref URI resolved at runtime; the value never appears in the request. Multiple unique names may point to the same app-owned secret-bundle reference; each name selects its exact JSON key.
11
11
  */
12
12
  secretRef?: string;
13
13
  /**
@@ -9,7 +9,7 @@ export type SanitizedRuntimeBinding = {
9
9
  */
10
10
  value?: string;
11
11
  /**
12
- * Value-free app secret, app-scoped minted data-source credential, or approved tenant-source credential reference. Integration and provider credential references are outside this contract.
12
+ * Value-free app secret, shared app-secret bundle, app-scoped minted data-source credential, or approved tenant-source credential reference. A binding name selects the same-named JSON field when this is an app secret-bundle reference. Integration and provider credential references are outside this contract.
13
13
  */
14
14
  secretRef?: string;
15
15
  };
@@ -28,7 +28,7 @@ export interface SecretReference {
28
28
  */
29
29
  ownerBuilderId?: string;
30
30
  /**
31
- * secretref URI of the stored value. The value itself never crosses this boundary.
31
+ * secretref URI of the stored value. Builder app-secret rows may share one app-owned secret-bundle reference; each row's name selects its JSON key. The value itself never crosses this boundary.
32
32
  */
33
33
  secretRef: string;
34
34
  status: SecretReferenceStatus;
@@ -212,7 +212,7 @@ export type TransformReport = {
212
212
  * Optional bounded workload requirements, carried into the deployment plan and artifact. Null or omitted preserves standard HTTP serving. SQS jobs require platform-selected Kubernetes compute.
213
213
  */
214
214
  workload?: {
215
- resourceProfile: 'standard' | 'memory-1g';
215
+ resourceProfile: 'standard' | 'memory-1g' | 'memory-2g';
216
216
  backgroundJobs: 'none' | 'sqs';
217
217
  } | null;
218
218
  /**
@@ -14,7 +14,7 @@ export type Workload = {
14
14
  * @maxItems 32
15
15
  */
16
16
  export type Command = string[];
17
- export type ResourceProfile = 'standard' | 'memory-1g';
17
+ export type ResourceProfile = 'standard' | 'memory-1g' | 'memory-2g';
18
18
  /**
19
19
  * Versioned provisioning input emitted by Harbour Transform. It describes runtime wiring and workload lifecycle only; PostgreSQL grants and RLS remain the database authorization authority.
20
20
  */
@@ -86,7 +86,7 @@ export interface ArtifactContract {
86
86
  /**
87
87
  * Reviewed CPU/memory profile selected for the application container.
88
88
  */
89
- resource_profile?: 'standard' | 'memory-1g';
89
+ resource_profile?: 'standard' | 'memory-1g' | 'memory-2g';
90
90
  /**
91
91
  * Background-job execution mode. The sqs mode enables the governed application job queue and queue-aware scale-to-zero.
92
92
  */
@@ -1,10 +1,10 @@
1
1
  /* eslint-disable */
2
2
  // Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
3
3
 
4
- export const ContractRepositoryVersion = "0.41.0.0" as const;
5
- export const ContractPublishVersion = "0.41.0" as const;
6
- export const ContractPublishTag = "v0.41.0" as const;
7
- export const ContractSchemasDigest = "sha256:c4cb346100e76c8936457e0453a6219db10e1240cd71dde33cfef2b672e97e35" as const;
4
+ export const ContractRepositoryVersion = "0.43.0.0" as const;
5
+ export const ContractPublishVersion = "0.43.0" as const;
6
+ export const ContractPublishTag = "v0.43.0" as const;
7
+ export const ContractSchemasDigest = "sha256:edf9f584487d94b99e35bbc08f3df1e33cb7329e76baa1938dfb7f3f02b97149" as const;
8
8
  export const ContractAiFixturesDigest = "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6" as const;
9
- export const ContractGeneratedGoDigest = "sha256:b667bd3bb2eb76f268c60ad756de962c32cdb30f56fdedc2693150c6ff5c5feb" as const;
10
- export const ContractGeneratedTypeScriptDigest = "sha256:345aa69f8a745e004a50c9203d7abcf365edb6aedeb4e2886f89e3efd916afc9" as const;
9
+ export const ContractGeneratedGoDigest = "sha256:91de8005eea148fa555ee3a0abb42eed255863ec282740b5cf191727c35cb7ef" as const;
10
+ export const ContractGeneratedTypeScriptDigest = "sha256:c4bbb442e46e22531586b380689e04448a8c4e04aa7c03d66aceed50754a09c9" as const;
@@ -10,7 +10,7 @@ export type DeployRequestEnvironmentBinding = {
10
10
  */
11
11
  name: string;
12
12
  /**
13
- * secretref URI resolved at runtime; the value never appears in the request.
13
+ * secretref URI resolved at runtime; the value never appears in the request. Multiple unique names may point to the same app-owned secret-bundle reference; each name selects its exact JSON key.
14
14
  */
15
15
  secretRef?: string;
16
16
  /**
@@ -12,7 +12,7 @@ export type SanitizedRuntimeBinding = {
12
12
  */
13
13
  value?: string;
14
14
  /**
15
- * Value-free app secret, app-scoped minted data-source credential, or approved tenant-source credential reference. Integration and provider credential references are outside this contract.
15
+ * Value-free app secret, shared app-secret bundle, app-scoped minted data-source credential, or approved tenant-source credential reference. A binding name selects the same-named JSON field when this is an app secret-bundle reference. Integration and provider credential references are outside this contract.
16
16
  */
17
17
  secretRef?: string;
18
18
  };
@@ -32,7 +32,7 @@ export interface SecretReference {
32
32
  */
33
33
  ownerBuilderId?: string;
34
34
  /**
35
- * secretref URI of the stored value. The value itself never crosses this boundary.
35
+ * secretref URI of the stored value. Builder app-secret rows may share one app-owned secret-bundle reference; each row's name selects its JSON key. The value itself never crosses this boundary.
36
36
  */
37
37
  secretRef: string;
38
38
  status: SecretReferenceStatus;
@@ -235,7 +235,7 @@ export type TransformReport = {
235
235
  * Optional bounded workload requirements, carried into the deployment plan and artifact. Null or omitted preserves standard HTTP serving. SQS jobs require platform-selected Kubernetes compute.
236
236
  */
237
237
  workload?: {
238
- resourceProfile: 'standard' | 'memory-1g';
238
+ resourceProfile: 'standard' | 'memory-1g' | 'memory-2g';
239
239
  backgroundJobs: 'none' | 'sqs';
240
240
  } | null;
241
241
  /**
@@ -17,7 +17,7 @@ export type Workload = {
17
17
  * @maxItems 32
18
18
  */
19
19
  export type Command = string[];
20
- export type ResourceProfile = 'standard' | 'memory-1g';
20
+ export type ResourceProfile = 'standard' | 'memory-1g' | 'memory-2g';
21
21
 
22
22
  /**
23
23
  * Versioned provisioning input emitted by Harbour Transform. It describes runtime wiring and workload lifecycle only; PostgreSQL grants and RLS remain the database authorization authority.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fourier-labs/harbour-contracts",
3
- "version": "0.41.0",
3
+ "version": "0.43.0",
4
4
  "description": "Single source of truth for every data shape that crosses a boundary between Harbour components.",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
@@ -130,7 +130,7 @@
130
130
  "properties": {
131
131
  "resource_profile": {
132
132
  "type": "string",
133
- "enum": ["standard", "memory-1g"],
133
+ "enum": ["standard", "memory-1g", "memory-2g"],
134
134
  "description": "Reviewed CPU/memory profile selected for the application container."
135
135
  },
136
136
  "background_jobs": {
@@ -95,7 +95,7 @@
95
95
  "secretRef": {
96
96
  "type": "string",
97
97
  "pattern": "^secretref://[A-Za-z0-9][A-Za-z0-9/_.:-]*$",
98
- "description": "secretref URI resolved at runtime; the value never appears in the request."
98
+ "description": "secretref URI resolved at runtime; the value never appears in the request. Multiple unique names may point to the same app-owned secret-bundle reference; each name selects its exact JSON key."
99
99
  },
100
100
  "value": {
101
101
  "type": "string",
@@ -80,7 +80,7 @@
80
80
  "properties": {
81
81
  "kind": { "type": "string", "enum": ["configuration", "secret"] },
82
82
  "value": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Approved non-secret configuration literal. Provider-credential values are never approved or persisted here." },
83
- "secretRef": { "type": "string", "pattern": "^secretref://tenant/[A-Za-z0-9._-]+/(?:app/[A-Za-z0-9._-]+/(?:secret/[A-Z][A-Z0-9_]{0,127}|source/[a-z0-9][a-z0-9._-]{0,63})|source/[a-z0-9][a-z0-9._-]{0,63})$", "description": "Value-free app secret, app-scoped minted data-source credential, or approved tenant-source credential reference. Integration and provider credential references are outside this contract." }
83
+ "secretRef": { "type": "string", "pattern": "^secretref://tenant/[A-Za-z0-9._-]+/(?:app/[A-Za-z0-9._-]+/(?:secret/[A-Z][A-Z0-9_]{0,127}|secret-bundle|source/[a-z0-9][a-z0-9._-]{0,63})|source/[a-z0-9][a-z0-9._-]{0,63})$", "description": "Value-free app secret, shared app-secret bundle, app-scoped minted data-source credential, or approved tenant-source credential reference. A binding name selects the same-named JSON field when this is an app secret-bundle reference. Integration and provider credential references are outside this contract." }
84
84
  },
85
85
  "allOf": [
86
86
  {
@@ -31,7 +31,7 @@
31
31
  "secretRef": {
32
32
  "type": "string",
33
33
  "pattern": "^secretref://[A-Za-z0-9][A-Za-z0-9/_.:-]*$",
34
- "description": "secretref URI of the stored value. The value itself never crosses this boundary."
34
+ "description": "secretref URI of the stored value. Builder app-secret rows may share one app-owned secret-bundle reference; each row's name selects its JSON key. The value itself never crosses this boundary."
35
35
  },
36
36
  "status": {
37
37
  "$ref": "#/definitions/SecretReferenceStatus"
@@ -363,7 +363,7 @@
363
363
  "additionalProperties": false,
364
364
  "required": ["resourceProfile", "backgroundJobs"],
365
365
  "properties": {
366
- "resourceProfile": { "type": "string", "enum": ["standard", "memory-1g"] },
366
+ "resourceProfile": { "type": "string", "enum": ["standard", "memory-1g", "memory-2g"] },
367
367
  "backgroundJobs": { "type": "string", "enum": ["none", "sqs"] }
368
368
  }
369
369
  },
@@ -31,7 +31,7 @@
31
31
  "definitions": {
32
32
  "ResourceProfile": {
33
33
  "type": "string",
34
- "enum": ["standard", "memory-1g"]
34
+ "enum": ["standard", "memory-1g", "memory-2g"]
35
35
  },
36
36
  "Command": {
37
37
  "type": "array",