@tangle-network/agent-integrations 0.25.2 → 0.25.3
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 +13 -1
- package/dist/bin/tangle-catalog-runtime.js +5 -1
- package/dist/bin/tangle-catalog-runtime.js.map +1 -1
- package/dist/catalog.d.ts +4 -0
- package/dist/catalog.js +15 -0
- package/dist/catalog.js.map +1 -0
- package/dist/chunk-376UBTNB.js +1 -0
- package/dist/chunk-376UBTNB.js.map +1 -0
- package/dist/chunk-6KWCC42J.js +120 -0
- package/dist/chunk-6KWCC42J.js.map +1 -0
- package/dist/chunk-FQAT4IEE.js +246 -0
- package/dist/chunk-FQAT4IEE.js.map +1 -0
- package/dist/chunk-IDX3KIPA.js +3233 -0
- package/dist/chunk-IDX3KIPA.js.map +1 -0
- package/dist/{chunk-VJ57GPYO.js → chunk-MU3UTIOX.js} +3234 -6787
- package/dist/chunk-MU3UTIOX.js.map +1 -0
- package/dist/connectors/adapters/index.d.ts +1 -0
- package/dist/connectors/adapters/index.js +39 -0
- package/dist/connectors/adapters/index.js.map +1 -0
- package/dist/connectors/index.d.ts +180 -0
- package/dist/connectors/index.js +74 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/index-BNb1A0Id.d.ts +810 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +51 -44
- package/dist/registry.d.ts +1982 -0
- package/dist/registry.js +20 -0
- package/dist/registry.js.map +1 -0
- package/dist/runtime.d.ts +4 -0
- package/dist/runtime.js +12 -0
- package/dist/runtime.js.map +1 -0
- package/dist/specs.d.ts +4 -2962
- package/dist/tangle-catalog-runtime.d.ts +4 -0
- package/dist/tangle-catalog-runtime.js +22 -0
- package/dist/tangle-catalog-runtime.js.map +1 -0
- package/docs/platform-control-plane.md +54 -0
- package/docs/production-completion-checklist.md +2 -0
- package/package.json +31 -1
- package/dist/chunk-VJ57GPYO.js.map +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { T as TangleCatalogAuthResolverOptions, w as TangleCatalogHttpAuthResolverOptions, x as TangleCatalogHttpAuthResolverRequest, y as TangleCatalogInstalledPackageExecutorOptions, z as TangleCatalogRuntimeHandlerOptions, A as TangleCatalogRuntimeHttpRequest, B as TangleCatalogRuntimeHttpResponse, C as TangleCatalogRuntimeInvocation, D as TangleCatalogRuntimeModuleAction, E as TangleCatalogRuntimePackageCoverageOptions, F as TangleCatalogRuntimePackageCoverageRow, G as auditTangleCatalogRuntimePackages, H as createTangleCatalogCredentialAuthResolver, J as createTangleCatalogHttpAuthResolver, K as createTangleCatalogInstalledPackageExecutor, L as createTangleCatalogRuntimeHandler, N as tangleCatalogAuthValue } from './registry.js';
|
|
2
|
+
import './index-BNb1A0Id.js';
|
|
3
|
+
import './connectors/index.js';
|
|
4
|
+
import 'node:http';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
auditTangleCatalogRuntimePackages,
|
|
3
|
+
createTangleCatalogCredentialAuthResolver,
|
|
4
|
+
createTangleCatalogHttpAuthResolver,
|
|
5
|
+
createTangleCatalogInstalledPackageExecutor,
|
|
6
|
+
createTangleCatalogRuntimeHandler,
|
|
7
|
+
tangleCatalogAuthValue
|
|
8
|
+
} from "./chunk-MU3UTIOX.js";
|
|
9
|
+
import "./chunk-FQAT4IEE.js";
|
|
10
|
+
import "./chunk-6KWCC42J.js";
|
|
11
|
+
import "./chunk-4JQ754PA.js";
|
|
12
|
+
import "./chunk-376UBTNB.js";
|
|
13
|
+
import "./chunk-IDX3KIPA.js";
|
|
14
|
+
export {
|
|
15
|
+
auditTangleCatalogRuntimePackages,
|
|
16
|
+
createTangleCatalogCredentialAuthResolver,
|
|
17
|
+
createTangleCatalogHttpAuthResolver,
|
|
18
|
+
createTangleCatalogInstalledPackageExecutor,
|
|
19
|
+
createTangleCatalogRuntimeHandler,
|
|
20
|
+
tangleCatalogAuthValue
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=tangle-catalog-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Platform Control Plane Adoption
|
|
2
|
+
|
|
3
|
+
Use this package when one product owns user connections and many runtimes need
|
|
4
|
+
safe access to those connections.
|
|
5
|
+
|
|
6
|
+
```txt
|
|
7
|
+
central platform
|
|
8
|
+
owns OAuth apps, connection storage, grants, approvals, audit, healthchecks
|
|
9
|
+
|
|
10
|
+
sandbox / generated app / agent runtime
|
|
11
|
+
receives a short-lived capability bundle
|
|
12
|
+
calls /v1/integrations/invoke
|
|
13
|
+
never receives provider refresh tokens or API keys
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Required Flow
|
|
17
|
+
|
|
18
|
+
1. Product code turns app requirements into an `IntegrationManifest`.
|
|
19
|
+
2. Platform resolves the manifest against the user's active connections.
|
|
20
|
+
3. Missing connections or scopes return a user-facing connect/consent action.
|
|
21
|
+
4. Platform creates `IntegrationGrant` records for the approved grantee.
|
|
22
|
+
5. Platform issues a short-lived bundle with `buildSandboxBundle()`.
|
|
23
|
+
6. Runtime receives only `TANGLE_INTEGRATION_BUNDLE`.
|
|
24
|
+
7. Generated app code calls `createTangleIntegrationsClient()`.
|
|
25
|
+
8. Platform verifies capability, policy, approval, idempotency, and audit before
|
|
26
|
+
invoking the provider.
|
|
27
|
+
|
|
28
|
+
## Durable Installs
|
|
29
|
+
|
|
30
|
+
Preview runs can build bundles by `manifestId` and `grantee`. Installed apps and
|
|
31
|
+
published templates often need a narrower path: bind one app instance to known
|
|
32
|
+
pre-created grants. Use explicit grant ids:
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
const bundle = await runtime.buildSandboxBundle({
|
|
36
|
+
grantIds: ['grant_calendar_read'],
|
|
37
|
+
subject: { type: 'sandbox', id: 'sandbox_123' },
|
|
38
|
+
grantee: { type: 'app', id: 'installed_app_123' },
|
|
39
|
+
ttlMs: 15 * 60_000,
|
|
40
|
+
})
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The runtime fails closed if a grant id is unknown, belongs to another grantee, or
|
|
44
|
+
belongs to a different manifest than the requested `manifestId`.
|
|
45
|
+
|
|
46
|
+
## Production Gates
|
|
47
|
+
|
|
48
|
+
- Catalog-only connectors are discoverable, not executable.
|
|
49
|
+
- Runtime code receives capability tokens only.
|
|
50
|
+
- Writes require approval unless product policy explicitly allows them.
|
|
51
|
+
- Destructive actions are denied by default.
|
|
52
|
+
- Every invoke has an audit event and an idempotency key.
|
|
53
|
+
- Revoke deletes credentials and stops future bundles from including the grant.
|
|
54
|
+
- Resume/long-running runtimes refresh bundles before expiry.
|
|
@@ -20,6 +20,8 @@ provider credentials.
|
|
|
20
20
|
- [x] Persistent grants from user-owned connections to apps, agents, sandboxes,
|
|
21
21
|
and generated software.
|
|
22
22
|
- [x] Sandbox bundles with short-lived capability tokens and tool definitions.
|
|
23
|
+
- [x] Explicit grant-id bundle issuance for installed apps, published templates,
|
|
24
|
+
and durable app instances.
|
|
23
25
|
- [x] Bridge payload/env helpers for sandbox processes and executor-style CLIs.
|
|
24
26
|
- [x] Sandbox invocation host that validates envelopes before hub invocation and
|
|
25
27
|
normalizes success, failure, and approval-required results.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/agent-integrations",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.3",
|
|
4
4
|
"description": "Vendor-neutral integration contracts and runtime helpers for sandbox and agent apps.",
|
|
5
5
|
"homepage": "https://github.com/tangle-network/agent-integrations#readme",
|
|
6
6
|
"repository": {
|
|
@@ -19,10 +19,40 @@
|
|
|
19
19
|
"import": "./dist/index.js",
|
|
20
20
|
"default": "./dist/index.js"
|
|
21
21
|
},
|
|
22
|
+
"./catalog": {
|
|
23
|
+
"types": "./dist/catalog.d.ts",
|
|
24
|
+
"import": "./dist/catalog.js",
|
|
25
|
+
"default": "./dist/catalog.js"
|
|
26
|
+
},
|
|
27
|
+
"./connectors": {
|
|
28
|
+
"types": "./dist/connectors/index.d.ts",
|
|
29
|
+
"import": "./dist/connectors/index.js",
|
|
30
|
+
"default": "./dist/connectors/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./connectors/adapters": {
|
|
33
|
+
"types": "./dist/connectors/adapters/index.d.ts",
|
|
34
|
+
"import": "./dist/connectors/adapters/index.js",
|
|
35
|
+
"default": "./dist/connectors/adapters/index.js"
|
|
36
|
+
},
|
|
37
|
+
"./registry": {
|
|
38
|
+
"types": "./dist/registry.d.ts",
|
|
39
|
+
"import": "./dist/registry.js",
|
|
40
|
+
"default": "./dist/registry.js"
|
|
41
|
+
},
|
|
42
|
+
"./runtime": {
|
|
43
|
+
"types": "./dist/runtime.d.ts",
|
|
44
|
+
"import": "./dist/runtime.js",
|
|
45
|
+
"default": "./dist/runtime.js"
|
|
46
|
+
},
|
|
22
47
|
"./specs": {
|
|
23
48
|
"types": "./dist/specs.d.ts",
|
|
24
49
|
"import": "./dist/specs.js",
|
|
25
50
|
"default": "./dist/specs.js"
|
|
51
|
+
},
|
|
52
|
+
"./tangle-catalog-runtime": {
|
|
53
|
+
"types": "./dist/tangle-catalog-runtime.d.ts",
|
|
54
|
+
"import": "./dist/tangle-catalog-runtime.js",
|
|
55
|
+
"default": "./dist/tangle-catalog-runtime.js"
|
|
26
56
|
}
|
|
27
57
|
},
|
|
28
58
|
"bin": {
|