@lssm/example.team-hub 0.0.0-canary-20251217083314 → 1.41.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/announcement/announcement.contracts.js +1 -33
- package/dist/announcement/announcement.schema.js +1 -74
- package/dist/announcement/index.js +1 -4
- package/dist/docs/index.js +1 -1
- package/dist/docs/team-hub.docblock.js +5 -61
- package/dist/entities/index.js +1 -263
- package/dist/events.js +1 -162
- package/dist/example.js +1 -50
- package/dist/handlers/index.js +1 -8
- package/dist/index.js +1 -14
- package/dist/presentations/index.js +1 -12
- package/dist/presentations.js +1 -127
- package/dist/ritual/index.js +1 -4
- package/dist/ritual/ritual.contracts.js +1 -57
- package/dist/ritual/ritual.schema.js +1 -99
- package/dist/space/index.js +1 -4
- package/dist/space/space.contracts.js +1 -33
- package/dist/space/space.schema.js +1 -62
- package/dist/task/index.js +1 -4
- package/dist/task/task.contracts.js +1 -123
- package/dist/task/task.schema.js +1 -95
- package/dist/team-hub.feature.js +1 -157
- package/package.json +31 -31
- package/dist/announcement/announcement.contracts.d.ts +0 -60
- package/dist/announcement/announcement.schema.d.ts +0 -63
- package/dist/announcement/index.d.ts +0 -3
- package/dist/docs/index.d.ts +0 -1
- package/dist/docs/team-hub.docblock.d.ts +0 -1
- package/dist/entities/index.d.ts +0 -149
- package/dist/events.d.ts +0 -288
- package/dist/example.d.ts +0 -39
- package/dist/handlers/index.d.ts +0 -7
- package/dist/index.d.ts +0 -9
- package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
- package/dist/libs/contracts/dist/client/index.js +0 -5
- package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
- package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
- package/dist/libs/contracts/dist/client/react/index.js +0 -4
- package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/index.js +0 -29
- package/dist/libs/contracts/dist/docs/presentations.js +0 -71
- package/dist/libs/contracts/dist/docs/registry.js +0 -44
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
- package/dist/libs/contracts/dist/events.js +0 -10
- package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
- package/dist/libs/contracts/dist/index.js +0 -71
- package/dist/libs/contracts/dist/install.js +0 -2
- package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
- package/dist/libs/contracts/dist/integrations/index.js +0 -18
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
- package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
- package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
- package/dist/libs/contracts/dist/jsonschema.js +0 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
- package/dist/libs/contracts/dist/knowledge/index.js +0 -7
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
- package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
- package/dist/libs/contracts/dist/llm/exporters.js +0 -19
- package/dist/libs/contracts/dist/llm/index.js +0 -2
- package/dist/libs/contracts/dist/llm/prompts.js +0 -1
- package/dist/libs/contracts/dist/onboarding-base.js +0 -196
- package/dist/libs/contracts/dist/openapi.js +0 -1
- package/dist/libs/contracts/dist/ownership.js +0 -21
- package/dist/libs/contracts/dist/presentations.js +0 -1
- package/dist/libs/contracts/dist/presentations.v2.js +0 -11
- package/dist/libs/contracts/dist/prompt.js +0 -1
- package/dist/libs/contracts/dist/promptRegistry.js +0 -1
- package/dist/libs/contracts/dist/regenerator/index.js +0 -1
- package/dist/libs/contracts/dist/regenerator/service.js +0 -6
- package/dist/libs/contracts/dist/registry.js +0 -2
- package/dist/libs/contracts/dist/resources.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -34
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
- package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
- package/dist/libs/contracts/dist/server/index.js +0 -8
- package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
- package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
- package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
- package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
- package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
- package/dist/libs/contracts/dist/server/rest-express.js +0 -1
- package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
- package/dist/libs/contracts/dist/spec.js +0 -34
- package/dist/libs/contracts/dist/telemetry/index.js +0 -1
- package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
- package/dist/libs/contracts/dist/tests/index.js +0 -1
- package/dist/libs/contracts/dist/tests/runner.js +0 -2
- package/dist/libs/contracts/dist/workflow/index.js +0 -1
- package/dist/libs/contracts/dist/workflow/runner.js +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -2
- package/dist/libs/schema/dist/FieldType.js +0 -49
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -236
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/index.js +0 -6
- package/dist/presentations/index.d.ts +0 -4
- package/dist/presentations.d.ts +0 -11
- package/dist/ritual/index.d.ts +0 -3
- package/dist/ritual/ritual.contracts.d.ts +0 -106
- package/dist/ritual/ritual.schema.d.ts +0 -84
- package/dist/space/index.d.ts +0 -3
- package/dist/space/space.contracts.d.ts +0 -48
- package/dist/space/space.schema.d.ts +0 -51
- package/dist/task/index.d.ts +0 -3
- package/dist/task/task.contracts.d.ts +0 -229
- package/dist/task/task.schema.d.ts +0 -80
- package/dist/team-hub.feature.d.ts +0 -6
|
@@ -1,33 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/contracts/dist/index.js";
|
|
3
|
-
import { AnnouncementModel, PostAnnouncementInputModel } from "./announcement.schema.js";
|
|
4
|
-
|
|
5
|
-
//#region src/announcement/announcement.contracts.ts
|
|
6
|
-
const OWNERS = ["@examples.team-hub"];
|
|
7
|
-
/**
|
|
8
|
-
* Post an announcement.
|
|
9
|
-
*/
|
|
10
|
-
const PostAnnouncementContract = defineCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: "team.announcement.post",
|
|
13
|
-
version: 1,
|
|
14
|
-
stability: "stable",
|
|
15
|
-
owners: [...OWNERS],
|
|
16
|
-
tags: [
|
|
17
|
-
"team-hub",
|
|
18
|
-
"announcement",
|
|
19
|
-
"post"
|
|
20
|
-
],
|
|
21
|
-
description: "Post an announcement.",
|
|
22
|
-
goal: "Communicate with team.",
|
|
23
|
-
context: "Communication."
|
|
24
|
-
},
|
|
25
|
-
io: {
|
|
26
|
-
input: PostAnnouncementInputModel,
|
|
27
|
-
output: AnnouncementModel
|
|
28
|
-
},
|
|
29
|
-
policy: { auth: "user" }
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
//#endregion
|
|
33
|
-
export { PostAnnouncementContract };
|
|
1
|
+
import{AnnouncementModel as e,PostAnnouncementInputModel as t}from"./announcement.schema.js";import{defineCommand as n}from"@lssm/lib.contracts";const r=n({meta:{name:`team.announcement.post`,version:1,stability:`stable`,owners:[...[`@examples.team-hub`]],tags:[`team-hub`,`announcement`,`post`],description:`Post an announcement.`,goal:`Communicate with team.`,context:`Communication.`},io:{input:t,output:e},policy:{auth:`user`}});export{r as PostAnnouncementContract};
|
|
@@ -1,74 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
3
|
-
import "../libs/schema/dist/index.js";
|
|
4
|
-
|
|
5
|
-
//#region src/announcement/announcement.schema.ts
|
|
6
|
-
/**
|
|
7
|
-
* Announcement to spaces/org.
|
|
8
|
-
*/
|
|
9
|
-
const AnnouncementModel = defineSchemaModel({
|
|
10
|
-
name: "Announcement",
|
|
11
|
-
description: "Announcement to spaces/org",
|
|
12
|
-
fields: {
|
|
13
|
-
id: {
|
|
14
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
15
|
-
isOptional: false
|
|
16
|
-
},
|
|
17
|
-
title: {
|
|
18
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
19
|
-
isOptional: false
|
|
20
|
-
},
|
|
21
|
-
body: {
|
|
22
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
23
|
-
isOptional: false
|
|
24
|
-
},
|
|
25
|
-
audience: {
|
|
26
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
27
|
-
isOptional: false
|
|
28
|
-
},
|
|
29
|
-
audienceRole: {
|
|
30
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
31
|
-
isOptional: true
|
|
32
|
-
},
|
|
33
|
-
spaceId: {
|
|
34
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
35
|
-
isOptional: true
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Input for posting an announcement.
|
|
41
|
-
*/
|
|
42
|
-
const PostAnnouncementInputModel = defineSchemaModel({
|
|
43
|
-
name: "PostAnnouncementInput",
|
|
44
|
-
description: "Post an announcement",
|
|
45
|
-
fields: {
|
|
46
|
-
title: {
|
|
47
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
48
|
-
isOptional: false
|
|
49
|
-
},
|
|
50
|
-
body: {
|
|
51
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
52
|
-
isOptional: false
|
|
53
|
-
},
|
|
54
|
-
audience: {
|
|
55
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
56
|
-
isOptional: false
|
|
57
|
-
},
|
|
58
|
-
audienceRole: {
|
|
59
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
60
|
-
isOptional: true
|
|
61
|
-
},
|
|
62
|
-
spaceId: {
|
|
63
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
64
|
-
isOptional: true
|
|
65
|
-
},
|
|
66
|
-
expiresAt: {
|
|
67
|
-
type: ScalarTypeEnum.DateTime(),
|
|
68
|
-
isOptional: true
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
//#endregion
|
|
74
|
-
export { AnnouncementModel, PostAnnouncementInputModel };
|
|
1
|
+
import{ScalarTypeEnum as e,defineSchemaModel as t}from"@lssm/lib.schema";const n=t({name:`Announcement`,description:`Announcement to spaces/org`,fields:{id:{type:e.String_unsecure(),isOptional:!1},title:{type:e.String_unsecure(),isOptional:!1},body:{type:e.String_unsecure(),isOptional:!1},audience:{type:e.String_unsecure(),isOptional:!1},audienceRole:{type:e.String_unsecure(),isOptional:!0},spaceId:{type:e.String_unsecure(),isOptional:!0}}}),r=t({name:`PostAnnouncementInput`,description:`Post an announcement`,fields:{title:{type:e.String_unsecure(),isOptional:!1},body:{type:e.String_unsecure(),isOptional:!1},audience:{type:e.String_unsecure(),isOptional:!1},audienceRole:{type:e.String_unsecure(),isOptional:!0},spaceId:{type:e.String_unsecure(),isOptional:!0},expiresAt:{type:e.DateTime(),isOptional:!0}}});export{n as AnnouncementModel,r as PostAnnouncementInputModel};
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { PostAnnouncementContract } from "./announcement.contracts.js";
|
|
3
|
-
|
|
4
|
-
export { AnnouncementModel, PostAnnouncementContract, PostAnnouncementInputModel };
|
|
1
|
+
import{AnnouncementModel as e,PostAnnouncementInputModel as t}from"./announcement.schema.js";import{PostAnnouncementContract as n}from"./announcement.contracts.js";export{e as AnnouncementModel,n as PostAnnouncementContract,t as PostAnnouncementInputModel};
|
package/dist/docs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import"./team-hub.docblock.js";
|
|
@@ -1,22 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "../libs/contracts/dist/docs/index.js";
|
|
3
|
-
|
|
4
|
-
//#region src/docs/team-hub.docblock.ts
|
|
5
|
-
registerDocBlocks([
|
|
6
|
-
{
|
|
7
|
-
id: "docs.examples.team-hub",
|
|
8
|
-
title: "Team Hub",
|
|
9
|
-
summary: "Internal collaboration hub with spaces, tasks, rituals, and announcements.",
|
|
10
|
-
kind: "reference",
|
|
11
|
-
visibility: "public",
|
|
12
|
-
route: "/docs/examples/team-hub",
|
|
13
|
-
tags: [
|
|
14
|
-
"tasks",
|
|
15
|
-
"rituals",
|
|
16
|
-
"announcements",
|
|
17
|
-
"collaboration"
|
|
18
|
-
],
|
|
19
|
-
body: `## Domains
|
|
1
|
+
import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.examples.team-hub`,title:`Team Hub`,summary:`Internal collaboration hub with spaces, tasks, rituals, and announcements.`,kind:`reference`,visibility:`public`,route:`/docs/examples/team-hub`,tags:[`tasks`,`rituals`,`announcements`,`collaboration`],body:`## Domains
|
|
20
2
|
|
|
21
3
|
- Spaces/projects with members and roles.
|
|
22
4
|
- Tasks with status, priority, assignees, due dates.
|
|
@@ -31,17 +13,7 @@ registerDocBlocks([
|
|
|
31
13
|
|
|
32
14
|
## Presentations
|
|
33
15
|
- Dashboard, space list, task board/detail, ritual calendar, announcement feed.
|
|
34
|
-
`
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
id: "docs.examples.team-hub.goal",
|
|
38
|
-
title: "Team Hub — Goal",
|
|
39
|
-
summary: "Why this collaboration hub exists and outcomes it targets.",
|
|
40
|
-
kind: "goal",
|
|
41
|
-
visibility: "public",
|
|
42
|
-
route: "/docs/examples/team-hub/goal",
|
|
43
|
-
tags: ["collaboration", "goal"],
|
|
44
|
-
body: `## Why it matters
|
|
16
|
+
`},{id:`docs.examples.team-hub.goal`,title:`Team Hub — Goal`,summary:`Why this collaboration hub exists and outcomes it targets.`,kind:`goal`,visibility:`public`,route:`/docs/examples/team-hub/goal`,tags:[`collaboration`,`goal`],body:`## Why it matters
|
|
45
17
|
- Provides a regenerable hub for spaces, tasks, rituals, and announcements.
|
|
46
18
|
- Keeps ceremonies and task flows consistent across UI/API/events.
|
|
47
19
|
|
|
@@ -51,17 +23,7 @@ registerDocBlocks([
|
|
|
51
23
|
|
|
52
24
|
## Success criteria
|
|
53
25
|
- Tasks/rituals/announcements regenerate safely from spec updates.
|
|
54
|
-
- Notifications and audit hooks fire for key transitions.`
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
id: "docs.examples.team-hub.usage",
|
|
58
|
-
title: "Team Hub — Usage",
|
|
59
|
-
summary: "How to set up spaces, tasks, and rituals and regenerate safely.",
|
|
60
|
-
kind: "usage",
|
|
61
|
-
visibility: "public",
|
|
62
|
-
route: "/docs/examples/team-hub/usage",
|
|
63
|
-
tags: ["collaboration", "usage"],
|
|
64
|
-
body: `## Setup
|
|
26
|
+
- Notifications and audit hooks fire for key transitions.`},{id:`docs.examples.team-hub.usage`,title:`Team Hub — Usage`,summary:`How to set up spaces, tasks, and rituals and regenerate safely.`,kind:`usage`,visibility:`public`,route:`/docs/examples/team-hub/usage`,tags:[`collaboration`,`usage`],body:`## Setup
|
|
65
27
|
1) Seed (if available) or create a space; add members and tasks; schedule rituals.
|
|
66
28
|
2) Configure Notifications for rituals/reminders and announcements; use Jobs for scheduling.
|
|
67
29
|
|
|
@@ -73,21 +35,7 @@ registerDocBlocks([
|
|
|
73
35
|
## Guardrails
|
|
74
36
|
- Emit events for task/ritual/announcement changes; log in Audit Trail.
|
|
75
37
|
- Keep ritual cadence declarative; avoid hardcoded schedules.
|
|
76
|
-
- Ensure announcements carry title/description for accessibility.`
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
id: "docs.examples.team-hub.constraints",
|
|
80
|
-
title: "Team Hub — Constraints & Safety",
|
|
81
|
-
summary: "Internal guardrails for rituals, tasks, and announcements regeneration.",
|
|
82
|
-
kind: "reference",
|
|
83
|
-
visibility: "internal",
|
|
84
|
-
route: "/docs/examples/team-hub/constraints",
|
|
85
|
-
tags: [
|
|
86
|
-
"collaboration",
|
|
87
|
-
"constraints",
|
|
88
|
-
"internal"
|
|
89
|
-
],
|
|
90
|
-
body: `## Constraints
|
|
38
|
+
- Ensure announcements carry title/description for accessibility.`},{id:`docs.examples.team-hub.constraints`,title:`Team Hub — Constraints & Safety`,summary:`Internal guardrails for rituals, tasks, and announcements regeneration.`,kind:`reference`,visibility:`internal`,route:`/docs/examples/team-hub/constraints`,tags:[`collaboration`,`constraints`,`internal`],body:`## Constraints
|
|
91
39
|
- Ritual cadence and task states must stay declarative in spec; no hardcoded schedules.
|
|
92
40
|
- Events to emit: task.created/updated/completed, ritual.scheduled/completed, announcement.published.
|
|
93
41
|
- Regeneration should not drop reminders or announcements routing.
|
|
@@ -99,8 +47,4 @@ registerDocBlocks([
|
|
|
99
47
|
## Verification
|
|
100
48
|
- Add fixtures for ritual cadence changes and announcement targeting.
|
|
101
49
|
- Ensure Notifications/Jobs wiring persists after regeneration.
|
|
102
|
-
- Use Feature Flags to trial new boards/rituals with safe defaults.`
|
|
103
|
-
}
|
|
104
|
-
]);
|
|
105
|
-
|
|
106
|
-
//#endregion
|
|
50
|
+
- Use Feature Flags to trial new boards/rituals with safe defaults.`}]);
|
package/dist/entities/index.js
CHANGED
|
@@ -1,263 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
3
|
-
|
|
4
|
-
//#region src/entities/index.ts
|
|
5
|
-
const schema = "lssm_team_hub";
|
|
6
|
-
const TaskStatusEnum = defineEntityEnum({
|
|
7
|
-
name: "TaskStatus",
|
|
8
|
-
schema,
|
|
9
|
-
values: [
|
|
10
|
-
"BACKLOG",
|
|
11
|
-
"IN_PROGRESS",
|
|
12
|
-
"BLOCKED",
|
|
13
|
-
"DONE"
|
|
14
|
-
],
|
|
15
|
-
description: "Task workflow status."
|
|
16
|
-
});
|
|
17
|
-
const TaskPriorityEnum = defineEntityEnum({
|
|
18
|
-
name: "TaskPriority",
|
|
19
|
-
schema,
|
|
20
|
-
values: [
|
|
21
|
-
"LOW",
|
|
22
|
-
"MEDIUM",
|
|
23
|
-
"HIGH",
|
|
24
|
-
"CRITICAL"
|
|
25
|
-
],
|
|
26
|
-
description: "Task priority levels."
|
|
27
|
-
});
|
|
28
|
-
const RitualCadenceEnum = defineEntityEnum({
|
|
29
|
-
name: "RitualCadence",
|
|
30
|
-
schema,
|
|
31
|
-
values: [
|
|
32
|
-
"DAILY",
|
|
33
|
-
"WEEKLY",
|
|
34
|
-
"BIWEEKLY",
|
|
35
|
-
"MONTHLY"
|
|
36
|
-
],
|
|
37
|
-
description: "Recurrence cadence for rituals."
|
|
38
|
-
});
|
|
39
|
-
const AnnouncementAudienceEnum = defineEntityEnum({
|
|
40
|
-
name: "AnnouncementAudience",
|
|
41
|
-
schema,
|
|
42
|
-
values: [
|
|
43
|
-
"ALL",
|
|
44
|
-
"SPACE",
|
|
45
|
-
"ROLE"
|
|
46
|
-
],
|
|
47
|
-
description: "Targeting scope for announcements."
|
|
48
|
-
});
|
|
49
|
-
const SpaceEntity = defineEntity({
|
|
50
|
-
name: "Space",
|
|
51
|
-
description: "Space/project container for a team.",
|
|
52
|
-
schema,
|
|
53
|
-
map: "space",
|
|
54
|
-
fields: {
|
|
55
|
-
id: field.id({ description: "Unique space identifier" }),
|
|
56
|
-
name: field.string({ description: "Space name" }),
|
|
57
|
-
description: field.string({
|
|
58
|
-
description: "Space description",
|
|
59
|
-
isOptional: true
|
|
60
|
-
}),
|
|
61
|
-
orgId: field.string({ description: "Organization ID" }),
|
|
62
|
-
ownerId: field.string({ description: "Space owner" }),
|
|
63
|
-
members: field.json({
|
|
64
|
-
description: "Member roles map",
|
|
65
|
-
isOptional: true
|
|
66
|
-
}),
|
|
67
|
-
createdAt: field.createdAt(),
|
|
68
|
-
updatedAt: field.updatedAt(),
|
|
69
|
-
tasks: field.hasMany("Task"),
|
|
70
|
-
rituals: field.hasMany("Ritual"),
|
|
71
|
-
announcements: field.hasMany("Announcement")
|
|
72
|
-
},
|
|
73
|
-
indexes: [
|
|
74
|
-
index.on(["orgId"]),
|
|
75
|
-
index.on(["ownerId"]),
|
|
76
|
-
index.on(["name"])
|
|
77
|
-
]
|
|
78
|
-
});
|
|
79
|
-
const TaskEntity = defineEntity({
|
|
80
|
-
name: "Task",
|
|
81
|
-
description: "Work item within a space.",
|
|
82
|
-
schema,
|
|
83
|
-
map: "task",
|
|
84
|
-
fields: {
|
|
85
|
-
id: field.id({ description: "Unique task identifier" }),
|
|
86
|
-
spaceId: field.foreignKey({ description: "Parent space" }),
|
|
87
|
-
title: field.string({ description: "Task title" }),
|
|
88
|
-
description: field.string({
|
|
89
|
-
description: "Task details",
|
|
90
|
-
isOptional: true
|
|
91
|
-
}),
|
|
92
|
-
status: field.enum("TaskStatus", {
|
|
93
|
-
description: "Task status",
|
|
94
|
-
default: "BACKLOG"
|
|
95
|
-
}),
|
|
96
|
-
priority: field.enum("TaskPriority", {
|
|
97
|
-
description: "Task priority",
|
|
98
|
-
default: "MEDIUM"
|
|
99
|
-
}),
|
|
100
|
-
assigneeId: field.string({
|
|
101
|
-
description: "User assigned",
|
|
102
|
-
isOptional: true
|
|
103
|
-
}),
|
|
104
|
-
dueDate: field.dateTime({
|
|
105
|
-
description: "Due date",
|
|
106
|
-
isOptional: true
|
|
107
|
-
}),
|
|
108
|
-
tags: field.json({
|
|
109
|
-
description: "Labels/tags",
|
|
110
|
-
isOptional: true
|
|
111
|
-
}),
|
|
112
|
-
orgId: field.string({ description: "Organization ID" }),
|
|
113
|
-
createdAt: field.createdAt(),
|
|
114
|
-
updatedAt: field.updatedAt(),
|
|
115
|
-
space: field.belongsTo("Space", ["spaceId"], ["id"], { onDelete: "Cascade" })
|
|
116
|
-
},
|
|
117
|
-
enums: [TaskStatusEnum, TaskPriorityEnum],
|
|
118
|
-
indexes: [
|
|
119
|
-
index.on(["spaceId"]),
|
|
120
|
-
index.on(["orgId", "status"]),
|
|
121
|
-
index.on(["assigneeId", "status"]),
|
|
122
|
-
index.on(["dueDate"])
|
|
123
|
-
]
|
|
124
|
-
});
|
|
125
|
-
const RitualEntity = defineEntity({
|
|
126
|
-
name: "Ritual",
|
|
127
|
-
description: "Recurring ceremony (standup, retro, planning).",
|
|
128
|
-
schema,
|
|
129
|
-
map: "ritual",
|
|
130
|
-
fields: {
|
|
131
|
-
id: field.id({ description: "Unique ritual identifier" }),
|
|
132
|
-
spaceId: field.foreignKey({ description: "Parent space" }),
|
|
133
|
-
title: field.string({ description: "Ritual title" }),
|
|
134
|
-
cadence: field.enum("RitualCadence", { description: "Ritual cadence" }),
|
|
135
|
-
dayOfWeek: field.string({
|
|
136
|
-
description: "Day of week",
|
|
137
|
-
isOptional: true
|
|
138
|
-
}),
|
|
139
|
-
time: field.string({
|
|
140
|
-
description: "Local time (HH:mm)",
|
|
141
|
-
isOptional: true
|
|
142
|
-
}),
|
|
143
|
-
facilitatorId: field.string({
|
|
144
|
-
description: "Facilitator user ID",
|
|
145
|
-
isOptional: true
|
|
146
|
-
}),
|
|
147
|
-
participants: field.json({
|
|
148
|
-
description: "Participant user IDs",
|
|
149
|
-
isOptional: true
|
|
150
|
-
}),
|
|
151
|
-
location: field.string({
|
|
152
|
-
description: "Location/URL",
|
|
153
|
-
isOptional: true
|
|
154
|
-
}),
|
|
155
|
-
agendaTemplate: field.string({
|
|
156
|
-
description: "Agenda template markdown",
|
|
157
|
-
isOptional: true
|
|
158
|
-
}),
|
|
159
|
-
orgId: field.string({ description: "Organization ID" }),
|
|
160
|
-
createdAt: field.createdAt(),
|
|
161
|
-
updatedAt: field.updatedAt(),
|
|
162
|
-
occurrences: field.hasMany("RitualOccurrence"),
|
|
163
|
-
space: field.belongsTo("Space", ["spaceId"], ["id"], { onDelete: "Cascade" })
|
|
164
|
-
},
|
|
165
|
-
enums: [RitualCadenceEnum],
|
|
166
|
-
indexes: [index.on(["spaceId"]), index.on(["orgId"])]
|
|
167
|
-
});
|
|
168
|
-
const RitualOccurrenceEntity = defineEntity({
|
|
169
|
-
name: "RitualOccurrence",
|
|
170
|
-
description: "Specific occurrence of a ritual.",
|
|
171
|
-
schema,
|
|
172
|
-
map: "ritual_occurrence",
|
|
173
|
-
fields: {
|
|
174
|
-
id: field.id({ description: "Unique occurrence identifier" }),
|
|
175
|
-
ritualId: field.foreignKey({ description: "Parent ritual" }),
|
|
176
|
-
scheduledFor: field.dateTime({ description: "Scheduled datetime" }),
|
|
177
|
-
status: field.string({
|
|
178
|
-
description: "Occurrence status",
|
|
179
|
-
default: "\"scheduled\""
|
|
180
|
-
}),
|
|
181
|
-
summary: field.string({
|
|
182
|
-
description: "Summary/notes",
|
|
183
|
-
isOptional: true
|
|
184
|
-
}),
|
|
185
|
-
attendance: field.json({
|
|
186
|
-
description: "Attendance list with responses",
|
|
187
|
-
isOptional: true
|
|
188
|
-
}),
|
|
189
|
-
recordingUrl: field.string({
|
|
190
|
-
description: "Recording link",
|
|
191
|
-
isOptional: true
|
|
192
|
-
}),
|
|
193
|
-
orgId: field.string({ description: "Organization ID" }),
|
|
194
|
-
createdAt: field.createdAt(),
|
|
195
|
-
updatedAt: field.updatedAt(),
|
|
196
|
-
ritual: field.belongsTo("Ritual", ["ritualId"], ["id"], { onDelete: "Cascade" })
|
|
197
|
-
},
|
|
198
|
-
indexes: [
|
|
199
|
-
index.on(["ritualId"]),
|
|
200
|
-
index.on(["scheduledFor"]),
|
|
201
|
-
index.on(["orgId"])
|
|
202
|
-
]
|
|
203
|
-
});
|
|
204
|
-
const AnnouncementEntity = defineEntity({
|
|
205
|
-
name: "Announcement",
|
|
206
|
-
description: "Announcement to a space or org.",
|
|
207
|
-
schema,
|
|
208
|
-
map: "announcement",
|
|
209
|
-
fields: {
|
|
210
|
-
id: field.id({ description: "Unique announcement identifier" }),
|
|
211
|
-
spaceId: field.string({
|
|
212
|
-
description: "Target space",
|
|
213
|
-
isOptional: true
|
|
214
|
-
}),
|
|
215
|
-
title: field.string({ description: "Announcement title" }),
|
|
216
|
-
body: field.string({ description: "Announcement body" }),
|
|
217
|
-
audience: field.enum("AnnouncementAudience", {
|
|
218
|
-
description: "Audience targeting",
|
|
219
|
-
default: "ALL"
|
|
220
|
-
}),
|
|
221
|
-
audienceRole: field.string({
|
|
222
|
-
description: "Role targeted when audience is ROLE",
|
|
223
|
-
isOptional: true
|
|
224
|
-
}),
|
|
225
|
-
pinnedUntil: field.dateTime({
|
|
226
|
-
description: "Pin expiration",
|
|
227
|
-
isOptional: true
|
|
228
|
-
}),
|
|
229
|
-
orgId: field.string({ description: "Organization ID" }),
|
|
230
|
-
createdBy: field.string({ description: "Creator user ID" }),
|
|
231
|
-
createdAt: field.createdAt(),
|
|
232
|
-
expiresAt: field.dateTime({
|
|
233
|
-
description: "Expiration time",
|
|
234
|
-
isOptional: true
|
|
235
|
-
})
|
|
236
|
-
},
|
|
237
|
-
enums: [AnnouncementAudienceEnum],
|
|
238
|
-
indexes: [
|
|
239
|
-
index.on(["orgId"]),
|
|
240
|
-
index.on(["spaceId"]),
|
|
241
|
-
index.on(["audience"])
|
|
242
|
-
]
|
|
243
|
-
});
|
|
244
|
-
const teamHubEntities = [
|
|
245
|
-
SpaceEntity,
|
|
246
|
-
TaskEntity,
|
|
247
|
-
RitualEntity,
|
|
248
|
-
RitualOccurrenceEntity,
|
|
249
|
-
AnnouncementEntity
|
|
250
|
-
];
|
|
251
|
-
const teamHubSchemaContribution = {
|
|
252
|
-
moduleId: "@lssm/example.team-hub",
|
|
253
|
-
entities: teamHubEntities,
|
|
254
|
-
enums: [
|
|
255
|
-
TaskStatusEnum,
|
|
256
|
-
TaskPriorityEnum,
|
|
257
|
-
RitualCadenceEnum,
|
|
258
|
-
AnnouncementAudienceEnum
|
|
259
|
-
]
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
//#endregion
|
|
263
|
-
export { AnnouncementAudienceEnum, AnnouncementEntity, RitualCadenceEnum, RitualEntity, RitualOccurrenceEntity, SpaceEntity, TaskEntity, TaskPriorityEnum, TaskStatusEnum, teamHubEntities, teamHubSchemaContribution };
|
|
1
|
+
import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema";const i=`lssm_team_hub`,a=t({name:`TaskStatus`,schema:i,values:[`BACKLOG`,`IN_PROGRESS`,`BLOCKED`,`DONE`],description:`Task workflow status.`}),o=t({name:`TaskPriority`,schema:i,values:[`LOW`,`MEDIUM`,`HIGH`,`CRITICAL`],description:`Task priority levels.`}),s=t({name:`RitualCadence`,schema:i,values:[`DAILY`,`WEEKLY`,`BIWEEKLY`,`MONTHLY`],description:`Recurrence cadence for rituals.`}),c=t({name:`AnnouncementAudience`,schema:i,values:[`ALL`,`SPACE`,`ROLE`],description:`Targeting scope for announcements.`}),l=e({name:`Space`,description:`Space/project container for a team.`,schema:i,map:`space`,fields:{id:n.id({description:`Unique space identifier`}),name:n.string({description:`Space name`}),description:n.string({description:`Space description`,isOptional:!0}),orgId:n.string({description:`Organization ID`}),ownerId:n.string({description:`Space owner`}),members:n.json({description:`Member roles map`,isOptional:!0}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),tasks:n.hasMany(`Task`),rituals:n.hasMany(`Ritual`),announcements:n.hasMany(`Announcement`)},indexes:[r.on([`orgId`]),r.on([`ownerId`]),r.on([`name`])]}),u=e({name:`Task`,description:`Work item within a space.`,schema:i,map:`task`,fields:{id:n.id({description:`Unique task identifier`}),spaceId:n.foreignKey({description:`Parent space`}),title:n.string({description:`Task title`}),description:n.string({description:`Task details`,isOptional:!0}),status:n.enum(`TaskStatus`,{description:`Task status`,default:`BACKLOG`}),priority:n.enum(`TaskPriority`,{description:`Task priority`,default:`MEDIUM`}),assigneeId:n.string({description:`User assigned`,isOptional:!0}),dueDate:n.dateTime({description:`Due date`,isOptional:!0}),tags:n.json({description:`Labels/tags`,isOptional:!0}),orgId:n.string({description:`Organization ID`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),space:n.belongsTo(`Space`,[`spaceId`],[`id`],{onDelete:`Cascade`})},enums:[a,o],indexes:[r.on([`spaceId`]),r.on([`orgId`,`status`]),r.on([`assigneeId`,`status`]),r.on([`dueDate`])]}),d=e({name:`Ritual`,description:`Recurring ceremony (standup, retro, planning).`,schema:i,map:`ritual`,fields:{id:n.id({description:`Unique ritual identifier`}),spaceId:n.foreignKey({description:`Parent space`}),title:n.string({description:`Ritual title`}),cadence:n.enum(`RitualCadence`,{description:`Ritual cadence`}),dayOfWeek:n.string({description:`Day of week`,isOptional:!0}),time:n.string({description:`Local time (HH:mm)`,isOptional:!0}),facilitatorId:n.string({description:`Facilitator user ID`,isOptional:!0}),participants:n.json({description:`Participant user IDs`,isOptional:!0}),location:n.string({description:`Location/URL`,isOptional:!0}),agendaTemplate:n.string({description:`Agenda template markdown`,isOptional:!0}),orgId:n.string({description:`Organization ID`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),occurrences:n.hasMany(`RitualOccurrence`),space:n.belongsTo(`Space`,[`spaceId`],[`id`],{onDelete:`Cascade`})},enums:[s],indexes:[r.on([`spaceId`]),r.on([`orgId`])]}),f=e({name:`RitualOccurrence`,description:`Specific occurrence of a ritual.`,schema:i,map:`ritual_occurrence`,fields:{id:n.id({description:`Unique occurrence identifier`}),ritualId:n.foreignKey({description:`Parent ritual`}),scheduledFor:n.dateTime({description:`Scheduled datetime`}),status:n.string({description:`Occurrence status`,default:`"scheduled"`}),summary:n.string({description:`Summary/notes`,isOptional:!0}),attendance:n.json({description:`Attendance list with responses`,isOptional:!0}),recordingUrl:n.string({description:`Recording link`,isOptional:!0}),orgId:n.string({description:`Organization ID`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),ritual:n.belongsTo(`Ritual`,[`ritualId`],[`id`],{onDelete:`Cascade`})},indexes:[r.on([`ritualId`]),r.on([`scheduledFor`]),r.on([`orgId`])]}),p=e({name:`Announcement`,description:`Announcement to a space or org.`,schema:i,map:`announcement`,fields:{id:n.id({description:`Unique announcement identifier`}),spaceId:n.string({description:`Target space`,isOptional:!0}),title:n.string({description:`Announcement title`}),body:n.string({description:`Announcement body`}),audience:n.enum(`AnnouncementAudience`,{description:`Audience targeting`,default:`ALL`}),audienceRole:n.string({description:`Role targeted when audience is ROLE`,isOptional:!0}),pinnedUntil:n.dateTime({description:`Pin expiration`,isOptional:!0}),orgId:n.string({description:`Organization ID`}),createdBy:n.string({description:`Creator user ID`}),createdAt:n.createdAt(),expiresAt:n.dateTime({description:`Expiration time`,isOptional:!0})},enums:[c],indexes:[r.on([`orgId`]),r.on([`spaceId`]),r.on([`audience`])]}),m=[l,u,d,f,p],h={moduleId:`@lssm/example.team-hub`,entities:m,enums:[a,o,s,c]};export{c as AnnouncementAudienceEnum,p as AnnouncementEntity,s as RitualCadenceEnum,d as RitualEntity,f as RitualOccurrenceEntity,l as SpaceEntity,u as TaskEntity,o as TaskPriorityEnum,a as TaskStatusEnum,m as teamHubEntities,h as teamHubSchemaContribution};
|
package/dist/events.js
CHANGED
|
@@ -1,162 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { defineSchemaModel } from "./libs/schema/dist/SchemaModel.js";
|
|
3
|
-
import "./libs/schema/dist/index.js";
|
|
4
|
-
import { defineEvent } from "./libs/contracts/dist/events.js";
|
|
5
|
-
import "./libs/contracts/dist/index.js";
|
|
6
|
-
|
|
7
|
-
//#region src/events.ts
|
|
8
|
-
const SpaceEventPayload = defineSchemaModel({
|
|
9
|
-
name: "SpaceEventPayload",
|
|
10
|
-
description: "Payload for space events",
|
|
11
|
-
fields: {
|
|
12
|
-
spaceId: {
|
|
13
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
14
|
-
isOptional: false
|
|
15
|
-
},
|
|
16
|
-
orgId: {
|
|
17
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
18
|
-
isOptional: false
|
|
19
|
-
},
|
|
20
|
-
ownerId: {
|
|
21
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
22
|
-
isOptional: false
|
|
23
|
-
},
|
|
24
|
-
timestamp: {
|
|
25
|
-
type: ScalarTypeEnum.DateTime(),
|
|
26
|
-
isOptional: false
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
const TaskEventPayload = defineSchemaModel({
|
|
31
|
-
name: "TaskEventPayload",
|
|
32
|
-
description: "Payload for task events",
|
|
33
|
-
fields: {
|
|
34
|
-
taskId: {
|
|
35
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
36
|
-
isOptional: false
|
|
37
|
-
},
|
|
38
|
-
spaceId: {
|
|
39
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
40
|
-
isOptional: false
|
|
41
|
-
},
|
|
42
|
-
status: {
|
|
43
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
44
|
-
isOptional: false
|
|
45
|
-
},
|
|
46
|
-
assigneeId: {
|
|
47
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
48
|
-
isOptional: true
|
|
49
|
-
},
|
|
50
|
-
orgId: {
|
|
51
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
52
|
-
isOptional: false
|
|
53
|
-
},
|
|
54
|
-
timestamp: {
|
|
55
|
-
type: ScalarTypeEnum.DateTime(),
|
|
56
|
-
isOptional: false
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
const RitualEventPayload = defineSchemaModel({
|
|
61
|
-
name: "RitualEventPayload",
|
|
62
|
-
description: "Payload for ritual events",
|
|
63
|
-
fields: {
|
|
64
|
-
ritualId: {
|
|
65
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
66
|
-
isOptional: false
|
|
67
|
-
},
|
|
68
|
-
spaceId: {
|
|
69
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
70
|
-
isOptional: false
|
|
71
|
-
},
|
|
72
|
-
scheduledFor: {
|
|
73
|
-
type: ScalarTypeEnum.DateTime(),
|
|
74
|
-
isOptional: false
|
|
75
|
-
},
|
|
76
|
-
status: {
|
|
77
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
78
|
-
isOptional: false
|
|
79
|
-
},
|
|
80
|
-
orgId: {
|
|
81
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
82
|
-
isOptional: false
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
const AnnouncementPayload = defineSchemaModel({
|
|
87
|
-
name: "AnnouncementPayload",
|
|
88
|
-
description: "Payload for announcements",
|
|
89
|
-
fields: {
|
|
90
|
-
announcementId: {
|
|
91
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
92
|
-
isOptional: false
|
|
93
|
-
},
|
|
94
|
-
spaceId: {
|
|
95
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
96
|
-
isOptional: true
|
|
97
|
-
},
|
|
98
|
-
audience: {
|
|
99
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
100
|
-
isOptional: false
|
|
101
|
-
},
|
|
102
|
-
orgId: {
|
|
103
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
104
|
-
isOptional: false
|
|
105
|
-
},
|
|
106
|
-
createdBy: {
|
|
107
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
108
|
-
isOptional: false
|
|
109
|
-
},
|
|
110
|
-
createdAt: {
|
|
111
|
-
type: ScalarTypeEnum.DateTime(),
|
|
112
|
-
isOptional: false
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
const SpaceCreatedEvent = defineEvent({
|
|
117
|
-
name: "team.space.created",
|
|
118
|
-
version: 1,
|
|
119
|
-
description: "A space was created.",
|
|
120
|
-
payload: SpaceEventPayload
|
|
121
|
-
});
|
|
122
|
-
const TaskCreatedEvent = defineEvent({
|
|
123
|
-
name: "team.task.created",
|
|
124
|
-
version: 1,
|
|
125
|
-
description: "A task was created.",
|
|
126
|
-
payload: TaskEventPayload
|
|
127
|
-
});
|
|
128
|
-
const TaskStatusChangedEvent = defineEvent({
|
|
129
|
-
name: "team.task.status_changed",
|
|
130
|
-
version: 1,
|
|
131
|
-
description: "A task status changed.",
|
|
132
|
-
payload: TaskEventPayload
|
|
133
|
-
});
|
|
134
|
-
const RitualScheduledEvent = defineEvent({
|
|
135
|
-
name: "team.ritual.scheduled",
|
|
136
|
-
version: 1,
|
|
137
|
-
description: "A ritual was scheduled.",
|
|
138
|
-
payload: RitualEventPayload
|
|
139
|
-
});
|
|
140
|
-
const RitualOccurredEvent = defineEvent({
|
|
141
|
-
name: "team.ritual.occurred",
|
|
142
|
-
version: 1,
|
|
143
|
-
description: "A ritual occurrence was logged.",
|
|
144
|
-
payload: RitualEventPayload
|
|
145
|
-
});
|
|
146
|
-
const AnnouncementPostedEvent = defineEvent({
|
|
147
|
-
name: "team.announcement.posted",
|
|
148
|
-
version: 1,
|
|
149
|
-
description: "An announcement was posted.",
|
|
150
|
-
payload: AnnouncementPayload
|
|
151
|
-
});
|
|
152
|
-
const TeamHubEvents = {
|
|
153
|
-
SpaceCreatedEvent,
|
|
154
|
-
TaskCreatedEvent,
|
|
155
|
-
TaskStatusChangedEvent,
|
|
156
|
-
RitualScheduledEvent,
|
|
157
|
-
RitualOccurredEvent,
|
|
158
|
-
AnnouncementPostedEvent
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
//#endregion
|
|
162
|
-
export { AnnouncementPostedEvent, RitualOccurredEvent, RitualScheduledEvent, SpaceCreatedEvent, TaskCreatedEvent, TaskStatusChangedEvent, TeamHubEvents };
|
|
1
|
+
import{ScalarTypeEnum as e,defineSchemaModel as t}from"@lssm/lib.schema";import{defineEvent as n}from"@lssm/lib.contracts";const r=t({name:`SpaceEventPayload`,description:`Payload for space events`,fields:{spaceId:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},ownerId:{type:e.String_unsecure(),isOptional:!1},timestamp:{type:e.DateTime(),isOptional:!1}}}),i=t({name:`TaskEventPayload`,description:`Payload for task events`,fields:{taskId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},assigneeId:{type:e.String_unsecure(),isOptional:!0},orgId:{type:e.String_unsecure(),isOptional:!1},timestamp:{type:e.DateTime(),isOptional:!1}}}),a=t({name:`RitualEventPayload`,description:`Payload for ritual events`,fields:{ritualId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},scheduledFor:{type:e.DateTime(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1}}}),o=t({name:`AnnouncementPayload`,description:`Payload for announcements`,fields:{announcementId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!0},audience:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!1},createdBy:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),s=n({name:`team.space.created`,version:1,description:`A space was created.`,payload:r}),c=n({name:`team.task.created`,version:1,description:`A task was created.`,payload:i}),l=n({name:`team.task.status_changed`,version:1,description:`A task status changed.`,payload:i}),u=n({name:`team.ritual.scheduled`,version:1,description:`A ritual was scheduled.`,payload:a}),d=n({name:`team.ritual.occurred`,version:1,description:`A ritual occurrence was logged.`,payload:a}),f=n({name:`team.announcement.posted`,version:1,description:`An announcement was posted.`,payload:o}),p={SpaceCreatedEvent:s,TaskCreatedEvent:c,TaskStatusChangedEvent:l,RitualScheduledEvent:u,RitualOccurredEvent:d,AnnouncementPostedEvent:f};export{f as AnnouncementPostedEvent,d as RitualOccurredEvent,u as RitualScheduledEvent,s as SpaceCreatedEvent,c as TaskCreatedEvent,l as TaskStatusChangedEvent,p as TeamHubEvents};
|