@tangle-network/agent-integrations 0.25.2 → 0.25.4

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 (39) hide show
  1. package/README.md +13 -1
  2. package/dist/bin/tangle-catalog-runtime.js +5 -1
  3. package/dist/bin/tangle-catalog-runtime.js.map +1 -1
  4. package/dist/catalog.d.ts +4 -0
  5. package/dist/catalog.js +15 -0
  6. package/dist/catalog.js.map +1 -0
  7. package/dist/chunk-376UBTNB.js +1 -0
  8. package/dist/chunk-376UBTNB.js.map +1 -0
  9. package/dist/chunk-6KWCC42J.js +120 -0
  10. package/dist/chunk-6KWCC42J.js.map +1 -0
  11. package/dist/chunk-FQAT4IEE.js +246 -0
  12. package/dist/chunk-FQAT4IEE.js.map +1 -0
  13. package/dist/chunk-IDX3KIPA.js +3233 -0
  14. package/dist/chunk-IDX3KIPA.js.map +1 -0
  15. package/dist/{chunk-VJ57GPYO.js → chunk-IOO75SJH.js} +3234 -6787
  16. package/dist/chunk-IOO75SJH.js.map +1 -0
  17. package/dist/connectors/adapters/index.d.ts +1 -0
  18. package/dist/connectors/adapters/index.js +39 -0
  19. package/dist/connectors/adapters/index.js.map +1 -0
  20. package/dist/connectors/index.d.ts +180 -0
  21. package/dist/connectors/index.js +74 -0
  22. package/dist/connectors/index.js.map +1 -0
  23. package/dist/index-BNb1A0Id.d.ts +810 -0
  24. package/dist/index.d.ts +3 -1
  25. package/dist/index.js +51 -44
  26. package/dist/registry.d.ts +1982 -0
  27. package/dist/registry.js +20 -0
  28. package/dist/registry.js.map +1 -0
  29. package/dist/runtime.d.ts +4 -0
  30. package/dist/runtime.js +12 -0
  31. package/dist/runtime.js.map +1 -0
  32. package/dist/specs.d.ts +4 -2962
  33. package/dist/tangle-catalog-runtime.d.ts +4 -0
  34. package/dist/tangle-catalog-runtime.js +28 -0
  35. package/dist/tangle-catalog-runtime.js.map +1 -0
  36. package/docs/platform-control-plane.md +54 -0
  37. package/docs/production-completion-checklist.md +2 -0
  38. package/package.json +31 -1
  39. package/dist/chunk-VJ57GPYO.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ export { T as TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER, w as TangleCatalogAuthResolverOptions, x as TangleCatalogHttpAuthResolverOptions, y as TangleCatalogHttpAuthResolverRequest, z as TangleCatalogInstalledPackageExecutorOptions, A as TangleCatalogRuntimeHandlerOptions, B as TangleCatalogRuntimeHttpRequest, C as TangleCatalogRuntimeHttpResponse, D as TangleCatalogRuntimeInvocation, E as TangleCatalogRuntimeModuleAction, F as TangleCatalogRuntimePackageCoverageOptions, G as TangleCatalogRuntimePackageCoverageRow, H as auditTangleCatalogRuntimePackages, J as createTangleCatalogCredentialAuthResolver, K as createTangleCatalogHttpAuthResolver, L as createTangleCatalogInstalledPackageExecutor, N as createTangleCatalogRuntimeHandler, O as signTangleCatalogRuntimeRequest, P as tangleCatalogAuthValue, Q as verifyTangleCatalogRuntimeSignature } from './registry.js';
2
+ import './index-BNb1A0Id.js';
3
+ import './connectors/index.js';
4
+ import 'node:http';
@@ -0,0 +1,28 @@
1
+ import {
2
+ TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER,
3
+ auditTangleCatalogRuntimePackages,
4
+ createTangleCatalogCredentialAuthResolver,
5
+ createTangleCatalogHttpAuthResolver,
6
+ createTangleCatalogInstalledPackageExecutor,
7
+ createTangleCatalogRuntimeHandler,
8
+ signTangleCatalogRuntimeRequest,
9
+ tangleCatalogAuthValue,
10
+ verifyTangleCatalogRuntimeSignature
11
+ } from "./chunk-IOO75SJH.js";
12
+ import "./chunk-FQAT4IEE.js";
13
+ import "./chunk-6KWCC42J.js";
14
+ import "./chunk-4JQ754PA.js";
15
+ import "./chunk-376UBTNB.js";
16
+ import "./chunk-IDX3KIPA.js";
17
+ export {
18
+ TANGLE_CATALOG_RUNTIME_SIGNATURE_HEADER,
19
+ auditTangleCatalogRuntimePackages,
20
+ createTangleCatalogCredentialAuthResolver,
21
+ createTangleCatalogHttpAuthResolver,
22
+ createTangleCatalogInstalledPackageExecutor,
23
+ createTangleCatalogRuntimeHandler,
24
+ signTangleCatalogRuntimeRequest,
25
+ tangleCatalogAuthValue,
26
+ verifyTangleCatalogRuntimeSignature
27
+ };
28
+ //# 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.2",
3
+ "version": "0.25.4",
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": {