Initial commit: AS4/411 directory and discovery service for Sankofa Marketplace
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
39
examples/embedded-library/index.js
Normal file
39
examples/embedded-library/index.js
Normal file
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Example: embedded library usage.
|
||||
* Imports core + resolver + in-memory store; no REST API. Resolution runs in-process.
|
||||
*/
|
||||
import { Resolver, InMemoryResolveCache } from "@as4-411/resolver";
|
||||
import { InMemoryDirectoryStore } from "@as4-411/storage";
|
||||
|
||||
const store = new InMemoryDirectoryStore();
|
||||
store.addTenant({ id: "default", name: "Default" });
|
||||
store.addParticipant({ id: "local-1", tenantId: "default", name: "Local Participant" });
|
||||
store.addIdentifier({
|
||||
id: "id-1",
|
||||
participantId: "local-1",
|
||||
identifier_type: "e164",
|
||||
value: "+15551234567",
|
||||
priority: 1,
|
||||
});
|
||||
store.addEndpoint({
|
||||
id: "ep-1",
|
||||
participantId: "local-1",
|
||||
protocol: "https",
|
||||
address: "https://local.example.com/receive",
|
||||
priority: 1,
|
||||
status: "active",
|
||||
});
|
||||
|
||||
const resolver = new Resolver({
|
||||
store,
|
||||
cache: new InMemoryResolveCache(),
|
||||
defaultTtlSeconds: 60,
|
||||
});
|
||||
|
||||
const result = await resolver.resolve({
|
||||
identifiers: [{ type: "e164", value: "+15551234567" }],
|
||||
tenant: "default",
|
||||
});
|
||||
|
||||
console.log("Embedded resolve:", result.directives.length, "directive(s)");
|
||||
console.log(result.directives[0]?.target_address ?? "none");
|
||||
10
examples/embedded-library/package.json
Normal file
10
examples/embedded-library/package.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "example-embedded-library",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@as4-411/core": "workspace:*",
|
||||
"@as4-411/resolver": "workspace:*",
|
||||
"@as4-411/storage": "workspace:*"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user