Des contrats typés pour les applications et les agents

Un produit.
Plusieurs interfaces.
Les mêmes règles.

Définissez le comportement de votre produit en TypeScript. Reliez-le à votre API, à vos interfaces et aux outils de vos agents, avec des entrées, permissions et règles d’approbation explicites.

Commencez par une opération dans le code que vous possédez déjà.

COMPORTEMENT / 001Explicite par conception
{ }report.publishv1.0
ENTRÉEreportIdstring
EFFETPublier le rapportwrite
APPROBATIONRequise avant l’exécution↳
RÉSULTATTrace de publicationtyped
↗Votre APIAdaptateur REST
▤Votre interfaceInterface reliée
⌘Votre agentOutil MCP
[ intention partagée ]Vos gestionnaires réalisent toujours le travail.
ESSAYER UNE RÈGLE COMMUNE

Changez la règle.
Voyez chaque interface s’y conformer.

Une demande d’équipement, trois points d’entrée. Ajustez la politique et voyez l’application, l’API et l’agent aboutir à la même décision.

Illustration interactive · Données d’exemple · Exécution locale
01

Définissez la demande.

02

Définissez la politique.

Changer d’interface n’accorde jamais un rôle ni une approbation. Cet exemple local évalue uniquement les entrées affichées.

Autorisé par cette politique de démonstration

The local request satisfies the supplied policy.

APP

Demande d’équipement

Installation du studio · Espace d’exemple

€2,400.00
DemandeurAucune validation requise

Essayez l’action et examinez le résultat.

APIJSON
{
  "operation": "request.submit",
  "allowed": true,
  "reviewRequired": false,
  "reviewRecorded": false,
  "role": "requester",
  "amount": 2400,
  "threshold": 5000,
  "reason": "permitted"
}
Structure de réponse illustrative
AGENT

La prochaine étape autorisée.

  1. Lire la même demande et le même acteur.
  2. Vérifiez le seuil de vérification €5,000.00 et le rôle requester.
  3. Proposer l’envoi de la demande.
Suivre la limite de l’outil ↗
Examiner la définition partagée de la démonstration
{
  "kind": "educational-fixture",
  "operation": "request.submit",
  "reviewFrom": 5000,
  "submitRoles": [
    "requester",
    "reviewer"
  ],
  "approvalIsIndependent": true,
  "interfaces": [
    "app",
    "api",
    "agent"
  ]
}

This is an educational JSON fixture, evaluated by this page. It is not an importable ContractSpec definition.

01 Comportement explicite02 Interfaces connectées03 Effets vérifiablesComprendre les limites ↗

Chaque nouvelle interface
doit rester cohérente
avec votre produit.

Une personne clique sur un bouton. Une intégration appelle une API. Un agent invoque un outil.

Lorsque ces parcours implémentent séparément la même opération, un changement de permission ou une nouvelle exigence d’entrée peut échouer à plusieurs endroits.

ContractSpec donne à ce comportement une définition explicite, puis y relie les adaptateurs pris en charge et vos implémentations.

QU’EST-CE QU’UN CONTRAT ?

Une description typée de ce qu’une opération accepte, de ce qu’elle renvoie et des règles qu’elle doit respecter. Votre gestionnaire implémente le travail. Le moteur configuré contrôle la limite d’exécution.

01

Définir le comportement.

Les entrées, sorties, politiques, effets et responsabilités figurent dans un contrat que l’on peut examiner.

02

Relier les interfaces.

Reliez votre gestionnaire et exposez l’opération via les adaptateurs dont votre application a besoin.

03

Examiner ce qui se passe.

Rendez visibles les appels réussis, les refus et les preuves requises à la frontière d’exécution.

Changez le point d’entrée. Gardez le sens.Trace the mechanism · 3 ways to look closer

Follow a request to export a report through three interfaces. The useful common ground is the registered operation and its boundary.

Where does this request begin?
UNE SITUATION CONCRÈTE

A form helps someone make a valid request.

A person selects a report and gives a reason for the export.

01 / Form

Collect the report and reason, and explain errors in the person’s language.

Ce qui change

Labels, validation messages and the way the result is presented.

Ce qui reste explicite

The report, required reason, business implementation and configured execution checks.

SUIVRE LA CONSÉQUENCE

The form can make a requirement clear. The server still needs to reject a request that bypasses the form.

Where this explanation comes from

An authored situation, grounded in the linked source guides. Choosing a case explores its expected responsibilities; it does not execute an operation.

L’approbation se contrôle
à l’exécution.

Une même opération est accessible de plusieurs façons.
L’exigence d’approbation doit toujours s’appliquer.

Interactive illustration · local fixture, not a live runtime trace.

LA RÈGLE DÉCLARÉEExtrait TypeScript
// Part of an operation definition
execution: {
  effects: ['write'],
  approval: {
    required: true
  }
}
↳

An approval requirement is explicit metadata. Enforcement also needs a configured runtime and approval port.

HTTP REQUEST · ILLUSTRATIVE

POST /reports/demo-report/publish
Content-Type: application/json

{ "reportId": "demo-report" }
↳
PRÊT À ESSAYER

Que se passe-t-il sans approbation ?

Tentez l’opération, puis ajoutez une preuve d’exemple valide et réessayez.

Appels du gestionnaire lors de cet essai —Awaiting attempt

The illustration explains the proposed experience. The inspected REST test asserts denial before handler invocation; this page does not execute ContractSpec packages.

Examiner la base source ↗

Un point de départ limité.
Un système composable.

Réutilisez les comportements du produit en faisant évoluer l’expérience. Ajoutez des interfaces adaptées, des capacités réutilisables et des contrôles de changement à mesure que le produit grandit.

A / NOYAU

Modéliser le comportement.

Describe operations, data and events with typed contracts. Bind implementations through a runtime built around explicit boundaries.

Contracts + Runtime
B / CHANGEMENT

Rendre les décisions vérifiables.

Connect supports scoped decisions and receipts, with durable verification supplied by a configured host. Your host performs the actual merge, deployment or effect.

Relier
C / EXPÉRIENCE

Adapter l’expérience.

RoleMorph and presentation contracts support different interfaces for different roles, with authorization kept explicit.

RoleMorph + Surfaces
D / COMPOSITION

Composer des capacités.

Feature Hubs declare their needs and provide reusable functionality. Installation, readiness and starting effects remain distinct steps.

Feature Hubs

One workflow. Two useful views.

Presentation illustration
EDITOR / PREPARE

Quarterly report

Content, supporting sources and the next review step.

Brouillon prêtVérification nécessaire →
REVIEWER / ASSESS

Publication review

Changed content, requested effect and approval evidence.

Evidence attachedReview publication →
Shared operation report.publishPresentation changes. Backend authority stays explicit.

Construit chez LSSM. CompanyOS is an application built on this shared foundation, bringing contracts, operations and interfaces into a business workflow.

A reusable piece comes with a set of relationships.Trace the mechanism · 3 ways to look closer

A communication capability might need an operation, a provider port and a policy binding. Explore what happens when one piece is missing.

What is ready in the composition?
UNE SITUATION CONCRÈTE

You can inspect the promise before enabling an effect.

The capability is described, but no active installation or provider has been selected.

01 / Declare

Name the operations, capabilities and required ports.

Ce qui change

The product can discover the capability and its requirements.

Ce qui reste explicite

A declaration alone does not send a message or initialize a provider.

SUIVRE LA CONSÉQUENCE

Use the dependency map to choose what to bind. Do not treat catalogue presence as runtime readiness.

Where this explanation comes from

An authored situation, grounded in the linked source guides. Choosing a case explores its expected responsibilities; it does not execute an operation.

Apportez une opération.
Gardez votre application.

Commencez là où plusieurs interfaces doivent déjà s’accorder.

Choisissez une action délimitée, avec des entrées claires, un gestionnaire et un échec à détecter. Ajoutez un contrat, reliez deux points d’entrée et testez directement cet échec.

  1. 01
    Choisir la limite

    Une opération réelle avec une règle répétée.

  2. 02
    Relier l’implémentation

    Votre logique métier existante reste la vôtre.

  3. 03
    Démontrer la règle

    Vérifiez une réussite et un parcours refusé.

Explorer la documentation ↗Vérifier la disponibilité ↓Vérifiez les versions de packages prises en charge avant de commencer.
Choose an evaluation that can teach you something.Explore a situation · 3 ways to look closer

Keep the existing application. Make one operation explicit, then decide what the next useful proof would be.

Which situation sounds closest?
UNE SITUATION CONCRÈTE

Start with behavior you can compare.

An existing account lookup already returns a useful result to an API consumer.

Ce qui change

The operation gains an explicit input, result, errors and ownership boundary.

Ce qui reste explicite

Its business implementation can remain in place.

SUIVRE LA CONSÉQUENCE

Compare the current route with the new binding using the same valid and invalid cases. Widen the scope only after the difference is understood.

Where this explanation comes from

An authored situation, grounded in the linked source guides. Choosing a case explores its expected responsibilities; it does not execute an operation.

Comprenez la promesse.
Examinez les limites.

Que dois-je encore implémenter ?+

Your business logic, host authentication, infrastructure and provider integrations. Contracts describe behavior; adapters and configured runtime ports connect that description to execution.

Déclarer une politique suffit-il à la faire appliquer ?+

Enforcement requires the appropriate runtime path and configuration. In the inspected operation model, approval is explicitly enabled through execution metadata. Descriptive tags alone do not protect an operation.

ContractSpec régénère-t-il et déploie-t-il tout ?+

No. Supported artifact generation exists. The inspected integration CLI still restricts generation apply to a dry run. Review, merge, deployment and real effects remain separate responsibilities.

Ai-je besoin de CompanyOS ou de Studio ?+

The developer foundation has its own adoption path. Packaged applications are separate products built on top; they are not a prerequisite for using the foundation.

Find the point where the handler can begin.Trace the mechanism · 3 ways to look closer

Take an operation that explicitly requires approval. Change one condition and inspect the expected path from the captured runtime guide.

Which request are you inspecting?
UNE SITUATION CONCRÈTE

Input preparation stops the path early.

The request omits an input required by the operation schema.

01 / ENTRÉE

Parse and validate the request against the declared schema.

Ce qui change

The request cannot become a valid prepared input.

Ce qui reste explicite

No visible button or descriptive tag makes the missing value valid.

SUIVRE LA CONSÉQUENCE

A denial test for approval should use otherwise valid input, so it actually reaches the approval boundary.

Where this explanation comes from

An authored situation, grounded in the linked source guides. Choosing a case explores its expected responsibilities; it does not execute an operation.

L’exemple s’appuie
sur des sources.

The concept is grounded in inspected repository code. It is a design review, not a fresh runtime verification or a claim of production qualification.

Approval fixture at inspected release ↗

The repository link currently requires access.

La disponibilité compte.

Observé

Several packages have public npm metadata. That metadata and the current source tree describe different dependency layouts.

À vérifier

A clean, anonymous installation of the exact starter and versions advertised on the new site.

Ce concept

A local illustration of an approval boundary. No provider calls, backend execution or production data.

VOIR L’IDÉE PRENDRE FORME

De l’intention à une expérience
que vous pouvez vous approprier.

Une courte présentation illustrée du sens partagé, de la création assistée par l’IA et de l’exécution réutilisable.

Puis essayez vous-même ↗
Lire la présentation

Intention. Partez d’un objectif. ContractSpec donne aux éléments un sens, des données, un comportement et des règles communs.

Créer et exécuter. L’IA peut aider à générer du code source ou à composer les interfaces prises en charge. Des composants réutilisables et des moteurs d’exécution classiques exécutent le travail défini.

Adapter. Un même travail peut se présenter différemment sur ordinateur, sur mobile ou pour un agent, dans les limites d’action applicables.

Composer. Réunissez les capacités des domaines autour du résultat : communication, facturation, croissance, création et bien plus.

Télécharger la transcription complète ↓
COMMENCER PAR UNE RÈGLE QUI COMPTE

Donnez à votre prochaine interface
une règle explicite à suivre.

Votre vue

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Votre contexte

The different parts of you

Choose a starting point

Un mélange utile de contexte, de visuels et de guidage discret.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Confort de lecture

Choisir votre langue

La langue de l’interface change uniquement le texte. Les marchés, les prix et les parcours conservent leurs propres paramètres.

Couverture des traductions

Une partie du contenu est affichée en anglais.

Navigation151
Graphe616
Catégories378
Portfolio833
Exemples2 035
Aperçu de la source1 542

D’autres traductions seront ajoutées à mesure que le contenu sera relu.

Cette préférence est enregistrée dans ce navigateur.

Rechercher sur le site

Des points de départ utiles

Aucun résultat. Essayez une expression plus courte, un nom d’opération ou un autre périmètre de recherche.

UN PEU DE PLACE POUR EXPLORER

Trouvez quelque chose à explorer.

Ouvrez un aperçu détaillé sur cette page, essayez une autre perspective ou suivez le détail vers sa propre page.

Fonctionnement des aperçus et des commandes
01

Regarder avant de partir

Survolez un lien ou sélectionnez-le avec Tab pour voir un aperçu. Cliquer sur le lien d’origine ou appuyer sur Entrée ouvre toujours sa destination.

02

Rester dans le contexte

Entrez dans l’aperçu pour explorer ses sections. Depuis un lien sélectionné, utilisez Alt + ↓ pour y entrer au clavier. Échap le ferme.

03

Ouvrir les possibilités

Les lignes dépliables, les choix de perspective et les commandes mises en évidence révèlent davantage. Votre vue adapte le confort de lecture et le contexte exploré.

Un bouton séparé pour voir de plus près

Affichez de petits boutons d’aperçu à côté des liens quand l’espace le permet. Touchez l’œil pour examiner ou le lien pour y aller directement. Ce choix reste dans cet onglet.

Aucun historique de navigation n’est collecté. La réduction des animations suit votre appareil et Votre vue.