pi-mono/packages/coding-agent/examples/plugins/pi-example-plugin/src/session.ts
2026-09-21 16:07:59 +02:00

24 lines
705 B
TypeScript

import { defineFacet } from "@earendil-works/chord";
import { BACKGROUND_CONTEXT } from "@earendil-works/chord/context";
import { ExampleFacetService } from "./contract.ts";
export default defineFacet({
id: "@earendil-works/pi-example-plugin/session",
setup(env) {
const workerActivations = env.replicatedState({ count: 0 });
env.provide(ExampleFacetService, {
workerActivations,
async greet({ name }) {
return {
message: `Hello ${name} from the bundled Session worker facet!!!`,
workerActivations: workerActivations.value.count,
};
},
});
env.onActivate(() => {
workerActivations.change(BACKGROUND_CONTEXT, (draft) => {
draft.count += 1;
});
});
},
});