@astrale-domains/integrations
v0.3.3
Published
`integrations.astrale.ai` owns provider discovery and caller-owned external account connections. It exposes one provider-neutral connection-broker contract and binds that contract to Nango and Composio Providers at Runtime initialization.
Readme
Integrations Domain
integrations.astrale.ai owns provider discovery and caller-owned external account connections. It exposes one provider-neutral connection-broker contract and binds that contract to Nango and Composio Providers at Runtime initialization.
The package is authored on the current Astrale Application model:
schema/ public catalog, Connection facts, relationships, Functions, Core, and View
schema/modules/connection/states/ closed Connection lifecycle vocabulary
queries/ named catalog and owner-scoped graph observations
mutations/ atomic catalog and Connection changes
integrations/ provider-neutral connection-broker ability
providers/ Nango and Composio protocol admission
functions/ Actions and durable provider plus graph Workflows
views/ Shell-bound application projection
ui/ Domain-free presentation
frontend/ Vite and TanStack Router applicationCredentials are fetched from a Provider only when requested and are never written to the graph. Every Connection read first traverses owned_by from the authenticated caller, so a supplied Connection ID alone is not authority.
Development
Copy .env.example to .env.dev, set both provider secrets, then run:
pnpm install
pnpm typecheck
pnpm test
pnpm lint
pnpm build
pnpm packageDomain source imports Kernel concepts only through semantic @astrale-os/sdk/* facades and owns no .spec tree.
Import from integration.astrale.ai
Install integrations.astrale.ai and its catalog first, then inventory and import the
integration.astrale.ai Connection facts through the public graph boundary:
node scripts/legacy-integration-import/import-singular-integration-domain.mjs \
--instance <instance> --as <kernel-root-node-id> --dry-run
node scripts/legacy-integration-import/import-singular-integration-domain.mjs \
--instance <instance> --as <kernel-root-node-id>The importer follows every opaque query cursor, rejects partial or looping inventories, never copies
provider credentials, writes one atomic Connection graph change at a time, and checkpoints each
provider account fingerprint. Re-running after a process or checkpoint failure converges against both
the checkpoint and this Domain's existing Connection facts. It is an explicit data import, and
integration.astrale.ai must stay installed until dry-run, apply, restart, and parity-count evidence
are complete.
