@fourier-labs/harbour-contracts 0.57.0 → 0.59.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 +5 -5
- package/contract-release.json +46 -46
- package/dist/gen-ts/ai-callsite-inventory.d.ts +1 -1
- package/dist/gen-ts/ai-gateway-key-lookup.d.ts +1 -1
- package/dist/gen-ts/ai-policy-snapshot.d.ts +1 -1
- package/dist/gen-ts/ai-runtime-binding.d.ts +1 -1
- package/dist/gen-ts/app-integrations-declaration.d.ts +3 -3
- package/dist/gen-ts/contract-release.d.ts +6 -6
- package/dist/gen-ts/contract-release.js +6 -6
- package/dist/gen-ts/data-dependency.d.ts +2 -2
- package/dist/gen-ts/data-source.d.ts +1 -1
- package/dist/gen-ts/deployment-environment.d.ts +1 -1
- package/dist/gen-ts/deployment-status-response.d.ts +1 -1
- package/dist/gen-ts/integration-error-details.d.ts +2 -2
- package/dist/gen-ts/integration-execute-input-rules.d.ts +1 -1
- package/dist/gen-ts/integration-execute-input-rules.js +1 -1
- package/dist/gen-ts/integration-execute-request.d.ts +2 -0
- package/dist/gen-ts/kit-bundle-manifest.d.ts +3 -3
- package/dist/gen-ts/kit-lock.d.ts +5 -5
- package/dist/gen-ts/security-scan-input.d.ts +3 -3
- package/dist/gen-ts/security-verdict.d.ts +2 -2
- package/dist/gen-ts/transform-report.d.ts +11 -11
- package/dist/gen-ts/well-defined-app-manifest.d.ts +4 -4
- package/dist/resolver/index.d.ts +1 -1
- package/dist/resolver/index.js +1 -1
- package/gen-ts/ai-callsite-inventory.ts +1 -1
- package/gen-ts/ai-gateway-key-lookup.ts +1 -1
- package/gen-ts/ai-policy-snapshot.ts +1 -1
- package/gen-ts/ai-runtime-binding.ts +1 -1
- package/gen-ts/app-integrations-declaration.ts +3 -3
- package/gen-ts/contract-release.ts +6 -6
- package/gen-ts/data-dependency.ts +2 -2
- package/gen-ts/data-source.ts +1 -1
- package/gen-ts/deployment-environment.ts +1 -1
- package/gen-ts/deployment-status-response.ts +1 -1
- package/gen-ts/integration-error-details.ts +2 -2
- package/gen-ts/integration-execute-input-rules.ts +1 -1
- package/gen-ts/integration-execute-request.ts +2 -0
- package/gen-ts/kit-bundle-manifest.ts +3 -3
- package/gen-ts/kit-lock.ts +5 -5
- package/gen-ts/security-scan-input.ts +3 -3
- package/gen-ts/security-verdict.ts +2 -2
- package/gen-ts/transform-report.ts +11 -11
- package/gen-ts/well-defined-app-manifest.ts +4 -4
- package/package.json +2 -2
- package/schema/ai-callsite-inventory.schema.json +1 -1
- package/schema/ai-gateway-key-lookup.schema.json +1 -1
- package/schema/ai-policy-snapshot.schema.json +1 -1
- package/schema/ai-runtime-binding.schema.json +1 -1
- package/schema/app-integrations-declaration.schema.json +8 -7
- package/schema/data-dependency.schema.json +2 -2
- package/schema/data-source.schema.json +1 -1
- package/schema/deployment-environment.schema.json +1 -1
- package/schema/deployment-status-response.schema.json +1 -1
- package/schema/error-category.enum.json +9 -9
- package/schema/integration-error-details.schema.json +2 -2
- package/schema/integration-execute-request.schema.json +3 -1
- package/schema/kit-bundle-manifest.schema.json +6 -6
- package/schema/kit-lock.schema.json +6 -6
- package/schema/security-scan-input.schema.json +3 -3
- package/schema/security-verdict.schema.json +2 -2
- package/schema/transform-report.schema.json +11 -11
- package/schema/well-defined-app-manifest.schema.json +5 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# harbour-contracts
|
|
2
2
|
|
|
3
|
-
The single source of truth for every data shape that crosses a boundary between
|
|
3
|
+
The single source of truth for every data shape that crosses a boundary between Isomorph
|
|
4
4
|
components. **Schema-first:** hand-written JSON Schema in `schema/` is the source; the Go
|
|
5
5
|
package (`gen-go/`) and TypeScript package (`gen-ts/` → `@fourier-labs/harbour-contracts`) are **generated**
|
|
6
6
|
and committed. No handler, infra stack, or MCP op is built against a shape that does not
|
|
@@ -38,10 +38,10 @@ exist here first.
|
|
|
38
38
|
| `binding-classification-subject.schema.json` | Complete value-free binding-name classification before version allocation | AI governance §5.7 / SEC-UP-01 |
|
|
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
|
-
| `app-integrations-declaration.schema.json` | Committed `.
|
|
41
|
+
| `app-integrations-declaration.schema.json` | Committed `.isomorph/integrations.json` (`isomorph.app-integrations/2.0`): closed five-operation set (Slack read/post, Gmail read-only, warehouse view read) with fixed identity modes; owns the shared operation/identity/environment enums | Dev kit §4 |
|
|
42
42
|
| `integration-execute-request`, `integration-execute-result`, `integration-connect-result`, `integration-error-details` | App SDK integrations wire contract on `/_harbour/integrations/*`: per-operation input bounds, the five result shapes, consent states and the closed `details.code` reason set | Dev kit §4, §8 |
|
|
43
43
|
| `saas-connection.schema.json`, `data-grant-v2.schema.json` | Tenant SaaS connection record (one installation and channel map per tenant and provider) and the additive `harbour.data-grant/2.0` grant record with structured resources and provisioning lease/cleanup (status machine generated; legacy `data-grant` untouched) | Dev kit §5 |
|
|
44
|
-
| `kit-bundle-manifest.schema.json`, `kit-lock.schema.json` | Published kit bundle identity (SDK tarball digest plus optional `sdk.version` and https `sdk.url` download location) and the committed `.
|
|
44
|
+
| `kit-bundle-manifest.schema.json`, `kit-lock.schema.json` | Published kit bundle identity (SDK tarball digest plus optional `sdk.version` and https `sdk.url` download location) and the committed `.isomorph/kit.lock.json` the CodeBuild SDK-vendoring gate compares against | Dev kit §3 |
|
|
45
45
|
| `deploy-response.schema.json` | 202 Accepted body for `POST /v1/tenants/{tenant}/apps/{app}/deployments`, returned only after the authoritative QUEUED version exists and its SQS message is accepted | — |
|
|
46
46
|
| `deployment-source.schema.json` | Credential-free GitHub source in the `DeployRequest` body; credentials are resolved internally by MaterializeSource | — |
|
|
47
47
|
| `deployment-environment.schema.json` | Public environment accepted by the preview APIs (`preview` only; production is reachable only through promotion) | — |
|
|
@@ -63,7 +63,7 @@ exist here first.
|
|
|
63
63
|
| `ai-callsite-inventory.schema.json` | Immutable, sanitized AI call-site discovery for one exact deployment version (detection only) | AI governance |
|
|
64
64
|
| `ai-runtime-contract.schema.json` | Immutable runtime contract derived by an AI Governance PLAN decision; scoped configuration plus a Secrets Manager reference | AI governance |
|
|
65
65
|
| `ai-policy-snapshot.schema.json` | Immutable, content-addressed AI policy snapshot consumed by the AI Gateway | AI governance |
|
|
66
|
-
| `ai-gateway-key-lookup.schema.json` | Value-free Gateway authentication metadata for one version-scoped
|
|
66
|
+
| `ai-gateway-key-lookup.schema.json` | Value-free Gateway authentication metadata for one version-scoped Isomorph key | AI governance |
|
|
67
67
|
| `ai-trace-event.schema.json` | Value-free asynchronous AI Gateway trace metadata (v1); raw prompts and responses never enter the queue | AI governance |
|
|
68
68
|
| `ai-transform-event.schema.json` | Checksum-bound deterministic AI interception task input carrying the ordered PLAN interception plan | AI governance |
|
|
69
69
|
| `ai-transform-result.schema.json` | Bounded deterministic interception result: descriptors and digest evidence only | AI governance |
|
|
@@ -169,7 +169,7 @@ consumer cutover evidence.
|
|
|
169
169
|
|
|
170
170
|
- It cannot be folder-scoped (`includeIf gitdir:…`). Go runs `git ls-remote` inside
|
|
171
171
|
`~/go/pkg/mod/cache/vcs/…`, not inside your repo, so a per-directory helper never
|
|
172
|
-
applies. This fails identically from `/tmp` and from inside
|
|
172
|
+
applies. This fails identically from `/tmp` and from inside an Isomorph repo, which
|
|
173
173
|
makes it look like a bad tag rather than an auth problem.
|
|
174
174
|
- Scoping by URL prefix keeps it off your other GitHub accounts: only
|
|
175
175
|
`github.com/Fourier-Labs-AI/*` uses this credential.
|
package/contract-release.json
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "harbour.contract-release/1.0",
|
|
3
|
-
"repositoryVersion": "0.
|
|
4
|
-
"publishVersion": "0.
|
|
5
|
-
"publishTag": "v0.
|
|
6
|
-
"schemasDigest": "sha256:
|
|
3
|
+
"repositoryVersion": "0.59.0.0",
|
|
4
|
+
"publishVersion": "0.59.0",
|
|
5
|
+
"publishTag": "v0.59.0",
|
|
6
|
+
"schemasDigest": "sha256:cae27ba35b1cc0deb819df6fcfc1ebf5c2bd5de621bd505eb9bd5b540fec0409",
|
|
7
7
|
"aiFixturesDigest": "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6",
|
|
8
|
-
"generatedGoDigest": "sha256:
|
|
9
|
-
"generatedTypeScriptDigest": "sha256:
|
|
8
|
+
"generatedGoDigest": "sha256:dcbd1548dfeddcd7e499f88851c9fdc58b34e00c3b4f2b162c3c6cae073f6659",
|
|
9
|
+
"generatedTypeScriptDigest": "sha256:937e6425678739d44c4ca024db1e4fc44dc5a9be9950f261ffc320f2d458a985",
|
|
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)"
|
|
13
13
|
},
|
|
14
14
|
"schemas": {
|
|
15
15
|
"schema/ai-budget-ledger-event.schema.json": "sha256:92770bc5358e03a3aae6cd261dad02dfcbbb06a6203566da2c6c7a5e63dd671c",
|
|
16
|
-
"schema/ai-callsite-inventory.schema.json": "sha256:
|
|
16
|
+
"schema/ai-callsite-inventory.schema.json": "sha256:1b13c24fba951e50620a77699bce46bc1a9ada031dcf7b14596f7e91e829b650",
|
|
17
17
|
"schema/ai-classification-stamp.schema.json": "sha256:ad7f01dc8bb9a1cd619fce470227914aa3ef2ad57d34bfeaa0c6ef753aa6781d",
|
|
18
18
|
"schema/ai-composite-policy-digest.schema.json": "sha256:3efccc249327e59f67a37fd954b524ee727a3e28a3c557a46d6ec1f15d69b34e",
|
|
19
19
|
"schema/ai-deployment-gate-decision.schema.json": "sha256:bae1bdf91777b9a78f8da5a29f06b5de7f1e235789cf16b1bb507e85ad0243ff",
|
|
20
20
|
"schema/ai-gateway-key-lifecycle-event.schema.json": "sha256:ba5cb862abe73227bee714b25247b4cacb34f11fdd1476bb5f920923fd75e2a9",
|
|
21
|
-
"schema/ai-gateway-key-lookup.schema.json": "sha256:
|
|
21
|
+
"schema/ai-gateway-key-lookup.schema.json": "sha256:7d362ded73c0da6b433f3c73afeabea4c38c5d6fc92c391c7ded727324deddf2",
|
|
22
22
|
"schema/ai-governance-decision.schema.json": "sha256:d650762a428350748deafd6b251cbd4a03ba564650e74204f1a77bbe923e145f",
|
|
23
23
|
"schema/ai-metering-policy.schema.json": "sha256:044115938d254d914feac162219d20ee48f741cd7ad32df4613b45f9c862fe8c",
|
|
24
|
-
"schema/ai-policy-snapshot.schema.json": "sha256:
|
|
24
|
+
"schema/ai-policy-snapshot.schema.json": "sha256:709e2d24ac0176295cee1c85b6892461c97c3c1c088cbdefbebd07be7f69e2cb",
|
|
25
25
|
"schema/ai-pricing-revision.schema.json": "sha256:5ddb40c23712c0cec37b733678e4bb34811f5db44a233773c21a7dfaec188375",
|
|
26
|
-
"schema/ai-runtime-binding.schema.json": "sha256:
|
|
26
|
+
"schema/ai-runtime-binding.schema.json": "sha256:e99f983e78478b50114e0b2c940bb5bb30a4645cfd7fbddb7e0cf161d6d28502",
|
|
27
27
|
"schema/ai-runtime-contract.schema.json": "sha256:bfa2f8968b1c0678b328c178c7b9c6563f7a363ae04bf74a1078a1cd9679fa14",
|
|
28
28
|
"schema/ai-trace-event-v2.schema.json": "sha256:b479199bb6e44ea23a1da53f69943cb8f3886c433914fdb9bf9e9bdbc3dd767d",
|
|
29
29
|
"schema/ai-trace-event.schema.json": "sha256:96d095805ce35ceac2a4cb76ebcca9188f5dd8689ed6c67e93f33c5412d2a78b",
|
|
@@ -31,43 +31,43 @@
|
|
|
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/app-integrations-declaration.schema.json": "sha256:
|
|
34
|
+
"schema/app-integrations-declaration.schema.json": "sha256:feaf24ae933173708254ae0a37598db03deda808e0984f2f88963657bdb82428",
|
|
35
35
|
"schema/artifact-contract.schema.json": "sha256:8047b461a1c6d07bbe867a259c57bdf5cc0fdf282cf842ec7b683a9e93713b10",
|
|
36
36
|
"schema/binding-classification-subject.schema.json": "sha256:a8825ce652e7e00a18759c4249bd5bcd0cae552dd58440513f867e87f685133c",
|
|
37
37
|
"schema/builder-input-proposal.schema.json": "sha256:fe85cffa6d76b1e1effe1f5d75525f8fe0e1eaa3be4a304e491aa23ad72c0e72",
|
|
38
|
-
"schema/data-dependency.schema.json": "sha256:
|
|
38
|
+
"schema/data-dependency.schema.json": "sha256:b4cc2b2484e982cfed64c0f56b8f1e9d1363c71854cd71f845b24fbe7d85c971",
|
|
39
39
|
"schema/data-grant-v2.schema.json": "sha256:7fa6022aa2fcfd3c94bb969315155ea24e5a1aa25a25cb718df4465397076e07",
|
|
40
40
|
"schema/data-grant.schema.json": "sha256:e640553831ecc1c01cc9a37fe388b84d0ffeaa0d0050e63712b48f65fa437c8a",
|
|
41
|
-
"schema/data-source.schema.json": "sha256:
|
|
41
|
+
"schema/data-source.schema.json": "sha256:899384f4f11b05d2737766918ab47987b11ed49f1160220a55a367fed96f6f2c",
|
|
42
42
|
"schema/deploy-request.schema.json": "sha256:32531e21983cdfeec511f8b4cddd4dad6530cd90e4e9fe147225d78d138b6198",
|
|
43
43
|
"schema/deploy-response.schema.json": "sha256:09064948abdbba7022738285d802ed44648a16ddc2a5b8c2eeb170ae19a66aeb",
|
|
44
44
|
"schema/deployment-continuation.schema.json": "sha256:55b6945439f2c91cd851dfe4bc9484e67a64091b7763b2d8267354b4a8bfae8c",
|
|
45
|
-
"schema/deployment-environment.schema.json": "sha256:
|
|
45
|
+
"schema/deployment-environment.schema.json": "sha256:35b26cae07da9ee375a842b5e87c4570c8eca06775e9fd6dd46eb9eb8aa0df6c",
|
|
46
46
|
"schema/deployment-source.schema.json": "sha256:256988b1efbfc90bd0e1ae31a2c5d69b20ef1e4471dc24c9f9aa759278270fbe",
|
|
47
47
|
"schema/deployment-status-failure.schema.json": "sha256:7cc021d53a07c63b66eb48146d33e8875b64faf77ee927b235795469eb9a1559",
|
|
48
48
|
"schema/deployment-status-request.schema.json": "sha256:1f9f87adc947a252b53b61f71ae17f8c1b8fbc1166f31301a043d11ac257dc66",
|
|
49
|
-
"schema/deployment-status-response.schema.json": "sha256:
|
|
49
|
+
"schema/deployment-status-response.schema.json": "sha256:d65a7d320c50dcc0985eaf59906a25ab05650efdaa76df0db6b21f9649969070",
|
|
50
50
|
"schema/env-bindings.schema.json": "sha256:ae09bc4ca5508afa698ef854a59153c4c6f99b07017b48cb9b07ce05abad12f2",
|
|
51
|
-
"schema/error-category.enum.json": "sha256:
|
|
51
|
+
"schema/error-category.enum.json": "sha256:d6d83000c3357805b13138d717c411248c14f1c0fde1c02e82a25691de85d68d",
|
|
52
52
|
"schema/error-envelope.schema.json": "sha256:75dccda7dd16fdf8435deda53fc7dbcdc109b65114617a17f11763010c656f90",
|
|
53
53
|
"schema/integration-connect-result.schema.json": "sha256:3f254b67ef739dc1fa395bdc8c4dc93359b16d481dba2a2d777aa5b6f34b7af8",
|
|
54
|
-
"schema/integration-error-details.schema.json": "sha256:
|
|
55
|
-
"schema/integration-execute-request.schema.json": "sha256:
|
|
54
|
+
"schema/integration-error-details.schema.json": "sha256:47ad7621c34b092c7e40f912a21e7ccbdc000b974cfb7fa0c9200463e029f8fb",
|
|
55
|
+
"schema/integration-execute-request.schema.json": "sha256:7a3ebd7a9992a9390d05c9eea6b66762e437655afdca79b64ec992967172c325",
|
|
56
56
|
"schema/integration-execute-result.schema.json": "sha256:de87c35fb4dfb16f7334cab111f247281fc2300dc27738871ed1f8397ece6753",
|
|
57
|
-
"schema/kit-bundle-manifest.schema.json": "sha256:
|
|
58
|
-
"schema/kit-lock.schema.json": "sha256:
|
|
57
|
+
"schema/kit-bundle-manifest.schema.json": "sha256:4a9fcdd52ba0d55718ef4dbdab112b145ef90471d9356d4d3fb41e50fe9e400d",
|
|
58
|
+
"schema/kit-lock.schema.json": "sha256:a48154d9471e49a893d928f7b0e1e0bc77708a4a7edce4fdf14073203e0e8987",
|
|
59
59
|
"schema/kvs-routing-entry.schema.json": "sha256:b75f3a5dfa93a428b2764e03222b66b6ef2bed980f8bac8ffac54afdf3526bc5",
|
|
60
60
|
"schema/promotion-request.schema.json": "sha256:00e96dfd8ddbdba88ea222941d43f3609ff6c815a79e34f6705cab458101c969",
|
|
61
61
|
"schema/promotion-response.schema.json": "sha256:4129712d2e29d6ef21d93d4bd0bacfd60ada3f2ee0ade852824e64346b817634",
|
|
62
62
|
"schema/saas-connection.schema.json": "sha256:82ed8018201800a95aa792bde1d22568e86b55b3be926aa094a260c8c78a58d7",
|
|
63
63
|
"schema/sanitized-binding-evidence.schema.json": "sha256:1191ab88e2764df927e5f17837674cebebe068d480da2b2fdb390e589f96b51f",
|
|
64
64
|
"schema/secret-reference.schema.json": "sha256:db4e3c2c6a2dbd72d7ea0f9c91cb3b2343a7e67b601996c6818b2ef08e440895",
|
|
65
|
-
"schema/security-scan-input.schema.json": "sha256:
|
|
66
|
-
"schema/security-verdict.schema.json": "sha256:
|
|
65
|
+
"schema/security-scan-input.schema.json": "sha256:9d221c27aba1937944d6e30eae92d6b7699b12e3ed088117ef8a628d32ffbbb5",
|
|
66
|
+
"schema/security-verdict.schema.json": "sha256:639cb83291b4c276b4cdc0ee8ba82a8a2a9792481ad2a1ab6d9ff3ba1f89dd7d",
|
|
67
67
|
"schema/transform-parked-result.schema.json": "sha256:11729980d4c89d4a9e18f5f213232cd3359739c85626b36c20c2a37ba794c9af",
|
|
68
|
-
"schema/transform-report.schema.json": "sha256:
|
|
68
|
+
"schema/transform-report.schema.json": "sha256:b9b4b09f88714b49d855f01ab9b611f34fb856447c0d063be409bb12a6c2700a",
|
|
69
69
|
"schema/version-state.schema.json": "sha256:3b190007e2f8e3821c41ef11c6f5b226da7d5a18d34d4077f4618004846fd444",
|
|
70
|
-
"schema/well-defined-app-manifest.schema.json": "sha256:
|
|
70
|
+
"schema/well-defined-app-manifest.schema.json": "sha256:2941d4a7e3a76ae500271f061eda7ea48a0d67729277bd9c7e26759d4bed696e"
|
|
71
71
|
},
|
|
72
72
|
"aiFixtures": {
|
|
73
73
|
"fixtures/ai/adversarial-binding-classification-value.json": "sha256:ca009f3f6162a9d93b4ab416d52c1fba12a8a15aca5aed956c5fdcf2171b1e28",
|
|
@@ -103,29 +103,29 @@
|
|
|
103
103
|
"gen-go/ai_gateway_key_token.go": "sha256:859c34383955f21c22589158214df074b74de6907a54bee7c781acfa9dad8679",
|
|
104
104
|
"gen-go/binding_digest_helpers.go": "sha256:50462ba2beb16c7931dfc7e10302c12c90bf8111788991f74f08a718125dfbfb",
|
|
105
105
|
"gen-go/contracts_test.go": "sha256:56376287cb1548be1b35ab4c65d6f0b558c5d34885f7a47cb3d9e8d786607bf5",
|
|
106
|
-
"gen-go/doc.go": "sha256:
|
|
106
|
+
"gen-go/doc.go": "sha256:316d610ce568597a2ce6f38e9782e34fa5920f6f51ab0866e6d061b8a41cd822",
|
|
107
107
|
"gen-go/error_category.go": "sha256:b2ddea22dcfa030f1a45e721e635485b0bd816cf1f38e7654628a653f5ed4583",
|
|
108
|
-
"gen-go/integration_execute_input_rules.go": "sha256:
|
|
108
|
+
"gen-go/integration_execute_input_rules.go": "sha256:52a405aa7a97f7b4e2ed3c314a7bd28b7698cc7883ee72ad4c027637be602ab9",
|
|
109
109
|
"gen-go/integration_execute_input_rules_test.go": "sha256:c437a8406a2f062a0173b9419e4cb176fc6eb54e569506225d5162323f55b40b",
|
|
110
|
-
"gen-go/schema_documents.go": "sha256:
|
|
111
|
-
"gen-go/types.go": "sha256:
|
|
110
|
+
"gen-go/schema_documents.go": "sha256:c19c0d540f602ee997a84b90e20702d9bc63ed7d27aec267e76c04655fc182e0",
|
|
111
|
+
"gen-go/types.go": "sha256:fdb9107727f78c7ce767456606dfca577d67d1f5534318e64d1c86cddffed4e0",
|
|
112
112
|
"gen-go/version_state.go": "sha256:4ef8abb126414c0025cf2c59bc9c79a74ef4a2ff89e8f316cbf05acc872371c1"
|
|
113
113
|
},
|
|
114
114
|
"generatedTypeScript": {
|
|
115
115
|
"gen-ts/ai-budget-ledger-event.ts": "sha256:64448d98a394e6eb103927cd35ce8a33e30176c0d5ee5afcdd8444f8aa051809",
|
|
116
|
-
"gen-ts/ai-callsite-inventory.ts": "sha256:
|
|
116
|
+
"gen-ts/ai-callsite-inventory.ts": "sha256:371ab7169c24befe1d044db7b1f66cee3bcf99b566181c98c0d39924faa99082",
|
|
117
117
|
"gen-ts/ai-classification-stamp.ts": "sha256:dce78efba03df86a0986a16fd54c52066d322ff515d2463dbc45cafad82ecb44",
|
|
118
118
|
"gen-ts/ai-composite-policy-digest-helper.ts": "sha256:d6c51d0c35599ee4f81d605b71773f4fff41a0bb46499ff0c6185072fedf53ce",
|
|
119
119
|
"gen-ts/ai-composite-policy-digest.ts": "sha256:26b72227ca511d744c0f27fa0c85eb1ba6451ee380e38371e58a810898cfae96",
|
|
120
120
|
"gen-ts/ai-deployment-gate-decision.ts": "sha256:e2b5aeccdf0c8785f9621e9d54fc072ebfce029804becb2c396a737cdde17350",
|
|
121
121
|
"gen-ts/ai-gateway-key-lifecycle-event.ts": "sha256:8f1ab4774be1959e82c97da20ec8b293f3f10262f95393d2ae57e4c7817353cb",
|
|
122
|
-
"gen-ts/ai-gateway-key-lookup.ts": "sha256:
|
|
122
|
+
"gen-ts/ai-gateway-key-lookup.ts": "sha256:21e1d9020b015272119af8419485aca40f5e075701aec23525906017c7b5eb66",
|
|
123
123
|
"gen-ts/ai-gateway-key-token.ts": "sha256:ff6551ad3332cc665878d7ec93f42ce185c375e637531b2fbc82c697b877e784",
|
|
124
124
|
"gen-ts/ai-governance-decision.ts": "sha256:4a04e116f2ec281104e616a8ba414f23a9d34d398f850888d27510173e39c5c3",
|
|
125
125
|
"gen-ts/ai-metering-policy.ts": "sha256:dd261d57646a509cd46efaefac4aad58d018c7f7da98326dd8859e4ce951c56a",
|
|
126
|
-
"gen-ts/ai-policy-snapshot.ts": "sha256:
|
|
126
|
+
"gen-ts/ai-policy-snapshot.ts": "sha256:f4768dba29713053f7d1dd34746fe2f8162ed755eb17d2b7e288db612fcb7b8a",
|
|
127
127
|
"gen-ts/ai-pricing-revision.ts": "sha256:48afdea7fb09b9a392147a0a62bcee013157a9d536c07e0782ef28781a3000de",
|
|
128
|
-
"gen-ts/ai-runtime-binding.ts": "sha256:
|
|
128
|
+
"gen-ts/ai-runtime-binding.ts": "sha256:3930989c01e2b90041b5a8f9eaf9d8612854c9088090ca82e5687b85f26e106f",
|
|
129
129
|
"gen-ts/ai-runtime-contract.ts": "sha256:6ed3bde6ab7a3f7e2e298c2904eb52d35e06699c5e284f98fb39abfc76858beb",
|
|
130
130
|
"gen-ts/ai-trace-event-v2.ts": "sha256:8c994355f290864da1cf42850c3eceb0e4a1567b45ed989de865213430d3ce0e",
|
|
131
131
|
"gen-ts/ai-trace-event.ts": "sha256:53a74d014c59c059256ea855a100a209d9d4e83c5f95ae8e639073e1182c62dd",
|
|
@@ -133,35 +133,35 @@
|
|
|
133
133
|
"gen-ts/ai-transform-result.ts": "sha256:208c66b2aeb425c0cbcc18b7191f6e8989443f2b2c1690648e0e06cc1448ce25",
|
|
134
134
|
"gen-ts/ai-verification-evidence.ts": "sha256:979439d77f8b47631d1eb3b6c3c54ea6fec41089d2a51dc815fd370b1c4917fc",
|
|
135
135
|
"gen-ts/api-error-response.ts": "sha256:0fd73be282e7a5d72d6c343a4e64d09c232556b16161167f0cffd6278ed7e3d3",
|
|
136
|
-
"gen-ts/app-integrations-declaration.ts": "sha256:
|
|
136
|
+
"gen-ts/app-integrations-declaration.ts": "sha256:92ab07458747623fc8060247818bbf8e75b014efed55c4bb4332d39951a387fa",
|
|
137
137
|
"gen-ts/artifact-contract.ts": "sha256:4a6dc6d2caaeed4bb2066cc8a333e6e09e5a0d4745e0b1038293d54ab9403aeb",
|
|
138
138
|
"gen-ts/binding-classification-digest-helper.ts": "sha256:40fc7d85b4c3f3ffc5caf7d7950c62d013c83ee42058c7453b2100d95817f167",
|
|
139
139
|
"gen-ts/binding-classification-subject.ts": "sha256:c409a3fd7b942b50419632c51d9a79474fb30d6374bdc79c0e25c73618e800c3",
|
|
140
140
|
"gen-ts/builder-input-proposal.ts": "sha256:b0108c3787873d3cf1a39f00967379418a6766275d3474cfa55f5a9d93ead174",
|
|
141
|
-
"gen-ts/data-dependency.ts": "sha256:
|
|
141
|
+
"gen-ts/data-dependency.ts": "sha256:259f19e2759395d72ead90b8ed74a6dcef0c2641124f4f182823138cfd19bedf",
|
|
142
142
|
"gen-ts/data-grant-v2.ts": "sha256:b6660cd182b9c73e840bb962e66eafeda28cf003a3596ab8b3572174232da612",
|
|
143
143
|
"gen-ts/data-grant.ts": "sha256:2358579d8aa1e57b01a6f2b0eacce5531e7f21ef226404c9809925365e0d6155",
|
|
144
|
-
"gen-ts/data-source.ts": "sha256:
|
|
144
|
+
"gen-ts/data-source.ts": "sha256:1a40c252e94ee717d287ba63647e4368668dad9ea731770f8b58deb17d18b311",
|
|
145
145
|
"gen-ts/deploy-request.ts": "sha256:0214faa8be6680f0bfc117d5ce67c1a59fcc18bd0ea4bc840e03e7d051fa9ab6",
|
|
146
146
|
"gen-ts/deploy-response.ts": "sha256:364d9f1acf32e491498237cdd3f402d5f8e102f208db7748034f4ec68c6a6137",
|
|
147
147
|
"gen-ts/deployment-continuation.ts": "sha256:cc9f63af4d0da5086a79103789e4f043783b75b4ed11c6512f044439a551a79c",
|
|
148
|
-
"gen-ts/deployment-environment.ts": "sha256:
|
|
148
|
+
"gen-ts/deployment-environment.ts": "sha256:fc08cabe2e52ebb93cfe84d2019994260f71734c33d0e50e7c63e40ef5b17cef",
|
|
149
149
|
"gen-ts/deployment-source.ts": "sha256:8ccb55aaa7260eb6d19a00987d6a20a4b514e343564da13f27cd7fee8013500a",
|
|
150
150
|
"gen-ts/deployment-status-failure.ts": "sha256:6da2e6eb2f708efa51d416a1ec50f71ea7967cf9be9f93e7ce2e4760dae2cfe3",
|
|
151
151
|
"gen-ts/deployment-status-request.ts": "sha256:7ddccd07ab9f6d0821903a291ab35f903bb055727e03a058b99165ec048f6483",
|
|
152
|
-
"gen-ts/deployment-status-response.ts": "sha256:
|
|
152
|
+
"gen-ts/deployment-status-response.ts": "sha256:4f4ba74edf5f5ec743be91656c38cf5eeb85d7573fc357d6144733a32427ffa7",
|
|
153
153
|
"gen-ts/env-bindings.ts": "sha256:a167cfe9842352c9fec6412ff0d82bda9c5f5c3a1af541bd5c27a57f54fd0941",
|
|
154
154
|
"gen-ts/error-category-registry.ts": "sha256:7466a502c0723a77db825cdeaa9556a244201b55d9b7acbf2c098e9e84351df1",
|
|
155
155
|
"gen-ts/error-category.ts": "sha256:9bda89180c3b740c9aa8be466216592e8ca9d0d368c274333edf6ea5c45afd8e",
|
|
156
156
|
"gen-ts/error-envelope.ts": "sha256:4457309be794f9d4fc0cf62530cc2d442c007bac9ae84aff66df099cc9e40310",
|
|
157
157
|
"gen-ts/index.ts": "sha256:1fa78bbfd85f29f777f9018d110b70388af35ab2e428c07f75f6701ff3eaba22",
|
|
158
158
|
"gen-ts/integration-connect-result.ts": "sha256:4b10f169b6e1af364e9b418de21caa9fadbfb77b43cbff77d741cfae0b52180c",
|
|
159
|
-
"gen-ts/integration-error-details.ts": "sha256:
|
|
160
|
-
"gen-ts/integration-execute-input-rules.ts": "sha256:
|
|
161
|
-
"gen-ts/integration-execute-request.ts": "sha256:
|
|
159
|
+
"gen-ts/integration-error-details.ts": "sha256:ad7ecec9dd4533a6e86b3508886a7d69937052f52105497285797f77106bcc6f",
|
|
160
|
+
"gen-ts/integration-execute-input-rules.ts": "sha256:0da117ac9f3109462e5862d658edf0f50e4b71fdcbb675d3a9dcb08489bcadd0",
|
|
161
|
+
"gen-ts/integration-execute-request.ts": "sha256:1008bc1c8b8fec41dd7241a9f6ccb31233473e34c5cf538c0125f4ee6f45d2db",
|
|
162
162
|
"gen-ts/integration-execute-result.ts": "sha256:b7c9270abb0c12888e651aeb1a9927a658faa135ad6197be6dfbd46d942f2a0a",
|
|
163
|
-
"gen-ts/kit-bundle-manifest.ts": "sha256:
|
|
164
|
-
"gen-ts/kit-lock.ts": "sha256:
|
|
163
|
+
"gen-ts/kit-bundle-manifest.ts": "sha256:2777a268aef8787b81e71d154a7d05f6f5ded09d66f378211ff5493ddb885171",
|
|
164
|
+
"gen-ts/kit-lock.ts": "sha256:00ceeb97e9b7d0187bec00728f5099fd34e775e9cc44c85c4714f7a3a4118ef6",
|
|
165
165
|
"gen-ts/kvs-routing-entry.ts": "sha256:d92e85ee9f257d77850d1d3aac9438e2055f38084ff84a48fcedae239d47d4ca",
|
|
166
166
|
"gen-ts/promotion-request.ts": "sha256:9db88cef67f777a16bac628039ec3f582acb9e8cfff6fb592b30d0a0e55abc68",
|
|
167
167
|
"gen-ts/promotion-response.ts": "sha256:f1c9cafac96faeb02a443a31786f67714e818f38d90108e7af41958396524d6f",
|
|
@@ -169,12 +169,12 @@
|
|
|
169
169
|
"gen-ts/sanitized-binding-digest-helper.ts": "sha256:c47d7fdc20500e2e72c23fe39ecdd610fc397c47fcba51335ebec3c380fe6872",
|
|
170
170
|
"gen-ts/sanitized-binding-evidence.ts": "sha256:f3fb7b1d7d2e0929eb0ea981eaf32db3104010647185f6ae59f67167d42538a9",
|
|
171
171
|
"gen-ts/secret-reference.ts": "sha256:731fbcde7315cb4128d5b01bdbe6e6f248f13c7ad8dea04a3a4e927ac4890198",
|
|
172
|
-
"gen-ts/security-scan-input.ts": "sha256:
|
|
173
|
-
"gen-ts/security-verdict.ts": "sha256:
|
|
172
|
+
"gen-ts/security-scan-input.ts": "sha256:c9e2a95e488c1d19c543d87be5dac8408939e3ff955e373c2c57408a3430fa69",
|
|
173
|
+
"gen-ts/security-verdict.ts": "sha256:f87f43ba45ee2adbe2121c11ba462c7b83a4f027032f5a8daa7074e740e3754d",
|
|
174
174
|
"gen-ts/transform-parked-result.ts": "sha256:6279e27cee8d75c29f3ede45580fef1daa0ca300867a78e43ead8a7689ec613f",
|
|
175
|
-
"gen-ts/transform-report.ts": "sha256:
|
|
175
|
+
"gen-ts/transform-report.ts": "sha256:d83f1c34c4a082bd80bf9588b08e2fba3b7e25cd1855375ca3073ab9fafddfec",
|
|
176
176
|
"gen-ts/version-state-machine.ts": "sha256:c67af3e86ac306743345b850dfd3ae5201c19d10c40e2c149cf8c38258320d5f",
|
|
177
177
|
"gen-ts/version-state.ts": "sha256:a835112930299e7b593a1b8810b7414f6c9e809da2092306c743128170a3b702",
|
|
178
|
-
"gen-ts/well-defined-app-manifest.ts": "sha256:
|
|
178
|
+
"gen-ts/well-defined-app-manifest.ts": "sha256:f6af2fe88d94ce36bc4345815dcd8912489ceb8b088da61de20c29f007ff0816"
|
|
179
179
|
}
|
|
180
180
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type AiInventoryIdentifier = string;
|
|
2
2
|
export type AiInventoryDigest = string;
|
|
3
3
|
/**
|
|
4
|
-
* Immutable, sanitized AI call-site discovery for one exact
|
|
4
|
+
* Immutable, sanitized AI call-site discovery for one exact Isomorph deployment version. Inventory records detection only; planning, transformation, and verification outcomes are separate append-only records.
|
|
5
5
|
*/
|
|
6
6
|
export interface AiCallsiteInventory {
|
|
7
7
|
schema: 'harbour.ai-callsite-inventory/1.0';
|
|
@@ -51,7 +51,7 @@ export type AiPolicyDimensionLimit1 = {
|
|
|
51
51
|
[k: string]: unknown;
|
|
52
52
|
};
|
|
53
53
|
/**
|
|
54
|
-
* Immutable, content-addressed AI policy snapshot consumed by the
|
|
54
|
+
* Immutable, content-addressed AI policy snapshot consumed by the Isomorph AI Gateway. Provider credentials are represented only by Secrets Manager references.
|
|
55
55
|
*/
|
|
56
56
|
export interface AiPolicySnapshot {
|
|
57
57
|
schema: 'harbour.ai-policy-snapshot/1.0';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type AiRuntimeSafeReference = string;
|
|
5
5
|
/**
|
|
6
|
-
* Platform-neutral, value-free binding of one workload identity to one version-scoped
|
|
6
|
+
* Platform-neutral, value-free binding of one workload identity to one version-scoped Isomorph Gateway secret. Platform adapters may add implementation details internally; they never enter this contract.
|
|
7
7
|
*/
|
|
8
8
|
export interface AiRuntimeBinding {
|
|
9
9
|
schema: 'harbour.ai-runtime-binding/1.0';
|
|
@@ -13,14 +13,14 @@ export type ResourceNames = IntegrationAlias[];
|
|
|
13
13
|
*/
|
|
14
14
|
export type IntegrationIdentityMode = 'app' | 'user';
|
|
15
15
|
/**
|
|
16
|
-
* A plain column identifier
|
|
16
|
+
* A plain warehouse column identifier, or `*` as the sole selection when IT exposed all current and future columns.
|
|
17
17
|
*/
|
|
18
18
|
export type ColumnName = string;
|
|
19
19
|
/**
|
|
20
|
-
* Committed `.
|
|
20
|
+
* Committed `.isomorph/integrations.json`: the app's declared use of tenant-wide integration connections. Keys are logical connection aliases (the governance sourceId); resources are logical names (Slack channel alias, warehouse view name), never IDs, tokens or URLs. The operation set is closed (six operations). Each operation carries a fixed identity mode — slack.channel.history=user, gmail.thread.list=user, gmail.message.read=user, gmail.message.send=user, warehouse.view.read=app — except slack.message.post, whose mode the app DECLARES: `app` posts as the company's Slack app (the one audited bot identity, under the IT-approved per-app display name when the connection declares `presentation`), `user` posts as the signed-in person after their own consent. The declared mode is the one the app requests access for; an app may hold approved grants for both modes after two requests, and each slack.message.post call names which approved mode it runs under (`mode` on the execute request, 0.55.0) — a mode IT did not approve is refused, never swapped for the other. A `saas` connection may declare only the Slack and Gmail operations and a `database` connection only warehouse.view.read; `presentation` is a `saas` connection's optional per-app display name and icon for app-mode Slack posts, shown to IT at approval time and applied only from the approved grant. Gmail is user-mode only (reads plus one send); its single resource is the fixed `inbox` alias. This file also owns the shared IntegrationOperation / IntegrationIdentityMode / IntegrationEnvironment / IntegrationConnectionKind / IntegrationPresentation definitions referenced by the other integration schemas.
|
|
21
21
|
*/
|
|
22
22
|
export interface AppIntegrationsDeclaration {
|
|
23
|
-
schema: '
|
|
23
|
+
schema: 'isomorph.app-integrations/2.0';
|
|
24
24
|
connections: {
|
|
25
25
|
[k: string]: DeclaredConnection;
|
|
26
26
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const ContractRepositoryVersion: "0.
|
|
2
|
-
export declare const ContractPublishVersion: "0.
|
|
3
|
-
export declare const ContractPublishTag: "v0.
|
|
4
|
-
export declare const ContractSchemasDigest: "sha256:
|
|
1
|
+
export declare const ContractRepositoryVersion: "0.59.0.0";
|
|
2
|
+
export declare const ContractPublishVersion: "0.59.0";
|
|
3
|
+
export declare const ContractPublishTag: "v0.59.0";
|
|
4
|
+
export declare const ContractSchemasDigest: "sha256:cae27ba35b1cc0deb819df6fcfc1ebf5c2bd5de621bd505eb9bd5b540fec0409";
|
|
5
5
|
export declare const ContractAiFixturesDigest: "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
|
|
6
|
-
export declare const ContractGeneratedGoDigest: "sha256:
|
|
7
|
-
export declare const ContractGeneratedTypeScriptDigest: "sha256:
|
|
6
|
+
export declare const ContractGeneratedGoDigest: "sha256:dcbd1548dfeddcd7e499f88851c9fdc58b34e00c3b4f2b162c3c6cae073f6659";
|
|
7
|
+
export declare const ContractGeneratedTypeScriptDigest: "sha256:937e6425678739d44c4ca024db1e4fc44dc5a9be9950f261ffc320f2d458a985";
|
|
@@ -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.
|
|
4
|
-
export const ContractPublishVersion = "0.
|
|
5
|
-
export const ContractPublishTag = "v0.
|
|
6
|
-
export const ContractSchemasDigest = "sha256:
|
|
3
|
+
export const ContractRepositoryVersion = "0.59.0.0";
|
|
4
|
+
export const ContractPublishVersion = "0.59.0";
|
|
5
|
+
export const ContractPublishTag = "v0.59.0";
|
|
6
|
+
export const ContractSchemasDigest = "sha256:cae27ba35b1cc0deb819df6fcfc1ebf5c2bd5de621bd505eb9bd5b540fec0409";
|
|
7
7
|
export const ContractAiFixturesDigest = "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
|
|
8
|
-
export const ContractGeneratedGoDigest = "sha256:
|
|
9
|
-
export const ContractGeneratedTypeScriptDigest = "sha256:
|
|
8
|
+
export const ContractGeneratedGoDigest = "sha256:dcbd1548dfeddcd7e499f88851c9fdc58b34e00c3b4f2b162c3c6cae073f6659";
|
|
9
|
+
export const ContractGeneratedTypeScriptDigest = "sha256:937e6425678739d44c4ca024db1e4fc44dc5a9be9950f261ffc320f2d458a985";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* database = a SQL/warehouse connection; api = an HTTP(S) service; app_owned_external = infrastructure the app owns outside
|
|
2
|
+
* database = a SQL/warehouse connection; api = an HTTP(S) service; app_owned_external = infrastructure the app owns outside Isomorph.
|
|
3
3
|
*/
|
|
4
4
|
export type DataDependencyKind = 'database' | 'api' | 'app_owned_external';
|
|
5
5
|
/**
|
|
6
|
-
* matched = resolved to a registered source; out_of_scope = resolved but not requestable; unknown = unresolvable; inventory = registered but unused; app_owned_external = app-owned, outside
|
|
6
|
+
* matched = resolved to a registered source; out_of_scope = resolved but not requestable; unknown = unresolvable; inventory = registered but unused; app_owned_external = app-owned, outside Isomorph's remit.
|
|
7
7
|
*/
|
|
8
8
|
export type DataDependencyClassification = 'matched' | 'out_of_scope' | 'unknown' | 'inventory' | 'app_owned_external';
|
|
9
9
|
/**
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type DataSourceConnector = 'postgres' | 'redshift' | 'bigquery' | 'databricks' | 'mysql';
|
|
5
5
|
/**
|
|
6
|
-
* byo = admin brought existing infrastructure; harbour_managed =
|
|
6
|
+
* byo = admin brought existing infrastructure; harbour_managed = Isomorph provisioned it.
|
|
7
7
|
*/
|
|
8
8
|
export type DataSourceProvisioningMode = 'byo' | 'harbour_managed';
|
|
9
9
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Public environment accepted by the preview deployment-control-plane APIs. The MVP accepts only preview; production remains reachable only through
|
|
2
|
+
* Public environment accepted by the preview deployment-control-plane APIs. The MVP accepts only preview; production remains reachable only through Isomorph's human-merge promotion flow.
|
|
3
3
|
*/
|
|
4
4
|
export type DeploymentEnvironment = 'preview';
|
|
@@ -86,7 +86,7 @@ export interface StatusProgressEvent {
|
|
|
86
86
|
origin?: 'initial' | 'widen';
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
|
-
* The customer account and region this version deploys into, stamped on the version record at admission for customer-account (BYOC) tenants. Absent means
|
|
89
|
+
* The customer account and region this version deploys into, stamped on the version record at admission for customer-account (BYOC) tenants. Absent means Isomorph-managed — the same convention the record itself uses — so every pre-destination version simply omits it. Deliberately only account and region: the record's roleArn/externalId are how the pipeline gets into the account, not where the deploy landed, and no status consumer needs them.
|
|
90
90
|
*/
|
|
91
91
|
export interface StatusDeployTarget {
|
|
92
92
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* App-SDK
|
|
2
|
+
* App-SDK IsomorphErrorCategory values an integration route may emit; INTERNAL is reserved for the transport.
|
|
3
3
|
*/
|
|
4
4
|
export type IntegrationErrorCategory = 'AUTH_REQUIRED' | 'FORBIDDEN' | 'NOT_FOUND' | 'CONFLICT' | 'VALIDATION_FAILED' | 'RATE_LIMITED' | 'UNAVAILABLE';
|
|
5
5
|
/**
|
|
@@ -7,7 +7,7 @@ export type IntegrationErrorCategory = 'AUTH_REQUIRED' | 'FORBIDDEN' | 'NOT_FOUN
|
|
|
7
7
|
*/
|
|
8
8
|
export type IntegrationErrorCode = 'USER_CONNECTION_REQUIRED' | 'USER_RECONNECT_REQUIRED' | 'GRANT_NOT_READY' | 'GRANT_EXPIRED' | 'GRANT_REVOKED' | 'CONNECTION_DISABLED' | 'OPERATION_NOT_DECLARED' | 'RESOURCE_NOT_APPROVED' | 'IDENTITY_MODE_MISMATCH' | 'SEND_OUTCOME_UNKNOWN' | 'SEND_KEY_REUSED' | 'PROVIDER_RATE_LIMITED' | 'PROVIDER_UNAVAILABLE' | 'REQUEST_TOO_LARGE' | 'RESULT_TOO_LARGE' | 'DEADLINE_EXCEEDED' | 'APP_ACCESS_REQUIRED' | 'GRANT_DENIED' | 'TOKEN_REFRESH_PENDING' | 'REQUEST_PENDING' | 'INPUT_INVALID' | 'IDEMPOTENCY_KEY_REQUIRED' | 'SEND_IN_PROGRESS' | 'CONNECTION_NOT_FOUND' | 'APP_NOT_FOUND' | 'GRANT_NOT_FOUND' | 'AUTH_REQUIRED' | 'UNAVAILABLE' | 'MODE_NOT_GRANTED' | 'MODE_REQUIRED';
|
|
9
9
|
/**
|
|
10
|
-
* The `error` member of an integration failure response `{error, requestId}` on the execute/connect routes; the SDK maps it onto
|
|
10
|
+
* The `error` member of an integration failure response `{error, requestId}` on the execute/connect routes; the SDK maps it onto IsomorphError(category, message, details). `category` is the app-SDK IsomorphErrorCategory (not the deployment pipeline's dot-path error-category registry), with the HTTP status fixed per category: 401 AUTH_REQUIRED, 403 FORBIDDEN (denied/revoked/expired), 404 NOT_FOUND (unknown app/connection/resource), 409 CONFLICT (pending provisioning/consent/concurrent request), 400 or 413 VALIDATION_FAILED (invalid input / size overflow), 429 RATE_LIMITED (+ Retry-After header), 503 UNAVAILABLE. `details.code` is the closed stable reason set; `message` is human-facing and never carries provider error bodies, tokens or SQL.
|
|
11
11
|
*/
|
|
12
12
|
export interface IntegrationErrorDetails {
|
|
13
13
|
category: IntegrationErrorCategory;
|
|
@@ -150,7 +150,7 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
150
150
|
readonly uniqueItems: false;
|
|
151
151
|
readonly item: {
|
|
152
152
|
readonly minLength: 0;
|
|
153
|
-
readonly pattern: "^[A-Za-z_][A-Za-z0-9_]{0,62}$";
|
|
153
|
+
readonly pattern: "^(?:\\*|[A-Za-z_][A-Za-z0-9_]{0,62})$";
|
|
154
154
|
};
|
|
155
155
|
};
|
|
156
156
|
readonly limit: {
|
|
@@ -39,7 +39,7 @@ export const IntegrationExecuteInputRules = {
|
|
|
39
39
|
"warehouse.view.read": {
|
|
40
40
|
idempotencyKey: false,
|
|
41
41
|
fields: {
|
|
42
|
-
columns: { kind: "string[]", required: true, minItems: 1, maxItems: 32, uniqueItems: false, item: { minLength: 0, pattern: "^[A-Za-z_][A-Za-z0-9_]{0,62}$" } },
|
|
42
|
+
columns: { kind: "string[]", required: true, minItems: 1, maxItems: 32, uniqueItems: false, item: { minLength: 0, pattern: "^(?:\\*|[A-Za-z_][A-Za-z0-9_]{0,62})$" } },
|
|
43
43
|
limit: { kind: "integer", required: false, minimum: 1, maximum: 1000, default: 100 },
|
|
44
44
|
},
|
|
45
45
|
},
|
|
@@ -7,13 +7,13 @@ export type HexSha256 = string;
|
|
|
7
7
|
* Identity of one published development-kit bundle (shipped with the CLI). It pins the app SDK tarball, the local runtime images and the agent-brief fingerprint that a kit-built app was developed against, so the hosted pipeline can prove compatibility before replacing the vendored SDK (see kit-lock.schema.json).
|
|
8
8
|
*/
|
|
9
9
|
export interface KitBundleManifest {
|
|
10
|
-
schema: '
|
|
10
|
+
schema: 'isomorph.kit-bundle/1.0';
|
|
11
11
|
/**
|
|
12
12
|
* The CLI package version that published this bundle.
|
|
13
13
|
*/
|
|
14
14
|
kitVersion: string;
|
|
15
15
|
sdk: {
|
|
16
|
-
package: '@
|
|
16
|
+
package: '@isomorph.ai/app-sdk';
|
|
17
17
|
/**
|
|
18
18
|
* The SDK package version the tarball was packed from (informational; compatibility is decided by tarballSha256).
|
|
19
19
|
*/
|
|
@@ -45,7 +45,7 @@ export interface KitBundleManifest {
|
|
|
45
45
|
*/
|
|
46
46
|
fingerprint: string;
|
|
47
47
|
};
|
|
48
|
-
declarationSchema: '
|
|
48
|
+
declarationSchema: 'isomorph.app-integrations/2.0';
|
|
49
49
|
}
|
|
50
50
|
export interface NativeExecutable {
|
|
51
51
|
url: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Committed `.
|
|
2
|
+
* Committed `.isomorph/kit.lock.json`: which app and tenant a kit-built app belongs to and the exact bundle it was developed against. The data-plane vendorAppSDK gate reads bundle.sdk.tarballSha256 and fails with kit_bundle_incompatible (naming both digests) when it differs from the baked tarball; apps without a kit.lock keep the existing path.
|
|
3
3
|
*/
|
|
4
4
|
export interface KitLock {
|
|
5
|
-
schema: '
|
|
5
|
+
schema: 'isomorph.kit-lock/1.0';
|
|
6
6
|
appId: string;
|
|
7
7
|
tenantId: string;
|
|
8
8
|
bundle: KitBundleManifest;
|
|
@@ -13,13 +13,13 @@ export interface KitLock {
|
|
|
13
13
|
* Identity of one published development-kit bundle (shipped with the CLI). It pins the app SDK tarball, the local runtime images and the agent-brief fingerprint that a kit-built app was developed against, so the hosted pipeline can prove compatibility before replacing the vendored SDK (see kit-lock.schema.json).
|
|
14
14
|
*/
|
|
15
15
|
interface KitBundleManifest {
|
|
16
|
-
schema: '
|
|
16
|
+
schema: 'isomorph.kit-bundle/1.0';
|
|
17
17
|
/**
|
|
18
18
|
* The CLI package version that published this bundle.
|
|
19
19
|
*/
|
|
20
20
|
kitVersion: string;
|
|
21
21
|
sdk: {
|
|
22
|
-
package: '@
|
|
22
|
+
package: '@isomorph.ai/app-sdk';
|
|
23
23
|
/**
|
|
24
24
|
* The SDK package version the tarball was packed from (informational; compatibility is decided by tarballSha256).
|
|
25
25
|
*/
|
|
@@ -57,7 +57,7 @@ interface KitBundleManifest {
|
|
|
57
57
|
*/
|
|
58
58
|
fingerprint: string;
|
|
59
59
|
};
|
|
60
|
-
declarationSchema: '
|
|
60
|
+
declarationSchema: 'isomorph.app-integrations/2.0';
|
|
61
61
|
}
|
|
62
62
|
interface NativeExecutable {
|
|
63
63
|
url: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Input to the
|
|
2
|
+
* Input to the Isomorph Security Assurance machine (Security Assurance LLD §2). SOURCE (M1) scans an ingested commit; ARTIFACT (M2) scans built outputs — a container image digest, a deployable bundle, and/or synthesized infrastructure — named directly by the caller. `commit` is the identity being scanned; `org/app/env` locate the snapshot (the control-state table has no commit GSI, so a bare commit is not resolvable); `branch` is caller-supplied provenance. When phase is ARTIFACT at least one of `imageDigest`, `bundleRef`, or `infraRefs` must be present.
|
|
3
3
|
*/
|
|
4
4
|
export interface SecurityScanInput {
|
|
5
5
|
/**
|
|
@@ -7,11 +7,11 @@ export interface SecurityScanInput {
|
|
|
7
7
|
*/
|
|
8
8
|
phase: 'SOURCE' | 'ARTIFACT';
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Isomorph organization id, e.g. fourier.
|
|
11
11
|
*/
|
|
12
12
|
org: string;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Isomorph app id within the org, e.g. focuslist.
|
|
15
15
|
*/
|
|
16
16
|
app: string;
|
|
17
17
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Decision produced by the
|
|
2
|
+
* Decision produced by the Isomorph Security Assurance machine (Security Assurance LLD §2). `outcome: BLOCKED` surfaces to callers as the registered non-retryable `gate.security-scan` error category; `reason` is present exactly when BLOCKED. The S3 evidence object named by `evidenceRef` is the full record — in-payload findings may be truncated.
|
|
3
3
|
*/
|
|
4
4
|
export interface SecurityVerdict {
|
|
5
5
|
/**
|
|
@@ -11,7 +11,7 @@ export interface SecurityVerdict {
|
|
|
11
11
|
*/
|
|
12
12
|
profile: 'BASELINE' | 'STANDARD' | 'HIGH' | 'CRITICAL';
|
|
13
13
|
/**
|
|
14
|
-
* Human-readable cause, present when outcome is BLOCKED; becomes the
|
|
14
|
+
* Human-readable cause, present when outcome is BLOCKED; becomes the cause carried by the Security Assurance state machine's `HarbourSecurityBlocked` fail state.
|
|
15
15
|
*/
|
|
16
16
|
reason?: string;
|
|
17
17
|
/**
|