Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,12 @@ The example README includes the matching `lenso service check`, install, diff,
upgrade preview, rollback preview, and deployment export commands.

The Rust and TypeScript examples intentionally expose the same service contract
shape: a remote process provides one or more modules, while the Host owns auth,
runtime queues, retries, outbox, and observability.
shape: a service process provides one or more independently installed modules,
while the Host owns auth, runtime queues, retries, outbox, and observability.
V11 examples keep `lenso.module.v1` module contracts next to
`lenso.module-release.v1` release artifacts so module install remains the
business-capability entrypoint and service install remains the provider/process
entrypoint.
The V8 proof path uses service operation metadata and checks across both TS
services and the Rust Axum provider, including safe HTTP probes and runtime
function declarations.
Expand Down
16 changes: 13 additions & 3 deletions examples/support-ticket/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ pnpm --filter @lenso/example-support-ticket smoke
```

Package the running service manifest for handoff. This writes the service
package and one module release artifact per provided module:
package, one module contract, and one module release artifact per provided
module:

```sh
pnpm service-package:support-ticket
Expand All @@ -43,7 +44,7 @@ lenso service install dist/lenso-service/support-suite-provider/lenso.service-pa
--base-url http://127.0.0.1:4110/lenso/service/v1
```

Install the business module through the generated V10 module release artifact:
Install one business module through the generated module release artifact:

```sh
lenso module release inspect dist/lenso-service/support-suite-provider/modules/support-ticket/lenso.module-release.json
Expand All @@ -63,7 +64,16 @@ lenso service doctor support-suite-provider --json
```

`examples/support-ticket/lenso.module-release.json` is kept as a local dev
shortcut that points at the running provider manifest.
shortcut that points at the running provider manifest. V11 also keeps
`examples/support-ticket/lenso.module.json` as the standalone module contract:
it names the business capability before provider/release concerns. Sibling
module release shortcuts show that the same provider can be installed once
while modules remain independent install targets:

```sh
lenso module install examples/support-ticket/support-notification.module-release.json
lenso module install examples/support-ticket/support-knowledge-base.module-release.json
```

Restart the API and worker after install. Open `/console` and check Modules:

Expand Down
13 changes: 13 additions & 0 deletions examples/support-ticket/lenso.module.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"protocol": "lenso.module.v1",
"name": "support-ticket",
"version": "0.1.0",
"source": "service",
"summary": "Ticket intake, triage, and operations",
"capabilities": [
"support_ticket.tickets.read",
"support_ticket.tickets.write",
"support_ticket.tickets.escalate"
],
"dependencies": []
}
13 changes: 13 additions & 0 deletions examples/support-ticket/support-knowledge-base.module-release.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"protocol": "lenso.module-release.v1",
"name": "support-knowledge-base",
"version": "0.1.0",
"source": "service",
"summary": "Support knowledge-base article lookups",
"provider": {
"name": "support-suite-provider",
"serviceManifest": "http://127.0.0.1:4110/lenso/service/v1/manifest"
},
"capabilities": ["support_ticket.knowledge.read"],
"dependencies": []
}
13 changes: 13 additions & 0 deletions examples/support-ticket/support-notification.module-release.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"protocol": "lenso.module-release.v1",
"name": "support-notification",
"version": "0.1.0",
"source": "service",
"summary": "Ticket notification runtime functions",
"provider": {
"name": "support-suite-provider",
"serviceManifest": "http://127.0.0.1:4110/lenso/service/v1/manifest"
},
"capabilities": ["support_ticket.notifications.send"],
"dependencies": ["support-ticket"]
}