@lssm/example.team-hub 0.0.0-canary-20251217083314 → 0.0.0-canary-20251220002821
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/LICENSE +21 -0
- package/dist/announcement/announcement.contracts.d.ts +18 -17
- package/dist/announcement/announcement.contracts.d.ts.map +1 -0
- package/dist/announcement/announcement.contracts.js +2 -1
- package/dist/announcement/announcement.contracts.js.map +1 -0
- package/dist/announcement/announcement.schema.d.ts +17 -16
- package/dist/announcement/announcement.schema.d.ts.map +1 -0
- package/dist/announcement/announcement.schema.js +17 -18
- package/dist/announcement/announcement.schema.js.map +1 -0
- package/dist/docs/team-hub.docblock.js +2 -1
- package/dist/docs/team-hub.docblock.js.map +1 -0
- package/dist/entities/index.d.ts +139 -138
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +87 -87
- package/dist/entities/index.js.map +1 -0
- package/dist/events.d.ts +79 -78
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +28 -29
- package/dist/events.js.map +1 -0
- package/dist/example.d.ts +2 -1
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +2 -1
- package/dist/example.js.map +1 -0
- package/dist/handlers/index.d.ts +2 -1
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +2 -1
- package/dist/handlers/index.js.map +1 -0
- package/dist/libs/contracts/dist/capabilities/openbanking.js +2 -1
- package/dist/libs/contracts/dist/capabilities/openbanking.js.map +1 -0
- package/dist/libs/contracts/dist/contract-registry/schemas.js +2 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js.map +1 -0
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/index.js +2 -6
- package/dist/libs/contracts/dist/docs/meta.docs.js +30 -0
- package/dist/libs/contracts/dist/docs/meta.docs.js.map +1 -0
- package/dist/libs/contracts/dist/docs/presentations.js +2 -1
- package/dist/libs/contracts/dist/docs/presentations.js.map +1 -0
- package/dist/libs/contracts/dist/docs/registry.js +2 -1
- package/dist/libs/contracts/dist/docs/registry.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +2 -1
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js +97 -0
- package/dist/libs/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
- package/dist/libs/contracts/dist/events.js +2 -1
- package/dist/libs/contracts/dist/events.js.map +1 -0
- package/dist/libs/contracts/dist/index.js +2 -1
- package/dist/libs/contracts/dist/integrations/contracts.js +65 -66
- package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +31 -32
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +18 -19
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +32 -33
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +60 -61
- package/dist/libs/contracts/dist/integrations/openbanking/models.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +2 -1
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/gmail.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/mistral.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/postmark.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/powens.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/powens.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/stripe.js.map +1 -0
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +2 -1
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/contracts.js +44 -45
- package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +2 -1
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
- package/dist/libs/contracts/dist/llm/exporters.js +2 -1
- package/dist/libs/contracts/dist/llm/exporters.js.map +1 -0
- package/dist/libs/contracts/dist/onboarding-base.js +22 -23
- package/dist/libs/contracts/dist/onboarding-base.js.map +1 -0
- package/dist/libs/contracts/dist/ownership.js +4 -2
- package/dist/libs/contracts/dist/ownership.js.map +1 -0
- package/dist/libs/contracts/dist/presentations.v2.js +2 -1
- package/dist/libs/contracts/dist/presentations.v2.js.map +1 -0
- package/dist/libs/contracts/dist/regenerator/service.js +2 -1
- package/dist/libs/contracts/dist/regenerator/service.js.map +1 -0
- package/dist/libs/contracts/dist/schema/dist/index.js +3873 -6
- package/dist/libs/contracts/dist/schema/dist/index.js.map +1 -0
- package/dist/libs/contracts/dist/spec.js +2 -1
- package/dist/libs/contracts/dist/spec.js.map +1 -0
- package/dist/libs/schema/dist/index.js +4889 -6
- package/dist/libs/schema/dist/index.js.map +1 -0
- package/dist/presentations/index.d.ts +2 -1
- package/dist/presentations/index.d.ts.map +1 -0
- package/dist/presentations/index.js +2 -1
- package/dist/presentations/index.js.map +1 -0
- package/dist/presentations.d.ts +2 -1
- package/dist/presentations.d.ts.map +1 -0
- package/dist/presentations.js +2 -1
- package/dist/presentations.js.map +1 -0
- package/dist/ritual/ritual.contracts.d.ts +30 -29
- package/dist/ritual/ritual.contracts.d.ts.map +1 -0
- package/dist/ritual/ritual.contracts.js +2 -1
- package/dist/ritual/ritual.contracts.js.map +1 -0
- package/dist/ritual/ritual.schema.d.ts +22 -21
- package/dist/ritual/ritual.schema.d.ts.map +1 -0
- package/dist/ritual/ritual.schema.js +22 -23
- package/dist/ritual/ritual.schema.js.map +1 -0
- package/dist/space/space.contracts.d.ts +15 -14
- package/dist/space/space.contracts.d.ts.map +1 -0
- package/dist/space/space.contracts.js +2 -1
- package/dist/space/space.contracts.js.map +1 -0
- package/dist/space/space.schema.d.ts +14 -13
- package/dist/space/space.schema.d.ts.map +1 -0
- package/dist/space/space.schema.js +14 -15
- package/dist/space/space.schema.js.map +1 -0
- package/dist/task/task.contracts.d.ts +62 -61
- package/dist/task/task.contracts.d.ts.map +1 -0
- package/dist/task/task.contracts.js +11 -12
- package/dist/task/task.contracts.js.map +1 -0
- package/dist/task/task.schema.d.ts +21 -20
- package/dist/task/task.schema.d.ts.map +1 -0
- package/dist/task/task.schema.js +21 -22
- package/dist/task/task.schema.js.map +1 -0
- package/dist/team-hub.feature.d.ts +2 -1
- package/dist/team-hub.feature.d.ts.map +1 -0
- package/dist/team-hub.feature.js +2 -1
- package/dist/team-hub.feature.js.map +1 -0
- package/package.json +18 -11
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- 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/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/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/entities/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../libs/schema/dist/index.js";
|
|
1
|
+
import { L5, Z5, _5, b5 } from "../libs/schema/dist/index.js";
|
|
3
2
|
|
|
4
3
|
//#region src/entities/index.ts
|
|
5
4
|
const schema = "lssm_team_hub";
|
|
6
|
-
const TaskStatusEnum =
|
|
5
|
+
const TaskStatusEnum = Z5({
|
|
7
6
|
name: "TaskStatus",
|
|
8
7
|
schema,
|
|
9
8
|
values: [
|
|
@@ -14,7 +13,7 @@ const TaskStatusEnum = defineEntityEnum({
|
|
|
14
13
|
],
|
|
15
14
|
description: "Task workflow status."
|
|
16
15
|
});
|
|
17
|
-
const TaskPriorityEnum =
|
|
16
|
+
const TaskPriorityEnum = Z5({
|
|
18
17
|
name: "TaskPriority",
|
|
19
18
|
schema,
|
|
20
19
|
values: [
|
|
@@ -25,7 +24,7 @@ const TaskPriorityEnum = defineEntityEnum({
|
|
|
25
24
|
],
|
|
26
25
|
description: "Task priority levels."
|
|
27
26
|
});
|
|
28
|
-
const RitualCadenceEnum =
|
|
27
|
+
const RitualCadenceEnum = Z5({
|
|
29
28
|
name: "RitualCadence",
|
|
30
29
|
schema,
|
|
31
30
|
values: [
|
|
@@ -36,7 +35,7 @@ const RitualCadenceEnum = defineEntityEnum({
|
|
|
36
35
|
],
|
|
37
36
|
description: "Recurrence cadence for rituals."
|
|
38
37
|
});
|
|
39
|
-
const AnnouncementAudienceEnum =
|
|
38
|
+
const AnnouncementAudienceEnum = Z5({
|
|
40
39
|
name: "AnnouncementAudience",
|
|
41
40
|
schema,
|
|
42
41
|
values: [
|
|
@@ -46,199 +45,199 @@ const AnnouncementAudienceEnum = defineEntityEnum({
|
|
|
46
45
|
],
|
|
47
46
|
description: "Targeting scope for announcements."
|
|
48
47
|
});
|
|
49
|
-
const SpaceEntity =
|
|
48
|
+
const SpaceEntity = L5({
|
|
50
49
|
name: "Space",
|
|
51
50
|
description: "Space/project container for a team.",
|
|
52
51
|
schema,
|
|
53
52
|
map: "space",
|
|
54
53
|
fields: {
|
|
55
|
-
id:
|
|
56
|
-
name:
|
|
57
|
-
description:
|
|
54
|
+
id: _5.id({ description: "Unique space identifier" }),
|
|
55
|
+
name: _5.string({ description: "Space name" }),
|
|
56
|
+
description: _5.string({
|
|
58
57
|
description: "Space description",
|
|
59
58
|
isOptional: true
|
|
60
59
|
}),
|
|
61
|
-
orgId:
|
|
62
|
-
ownerId:
|
|
63
|
-
members:
|
|
60
|
+
orgId: _5.string({ description: "Organization ID" }),
|
|
61
|
+
ownerId: _5.string({ description: "Space owner" }),
|
|
62
|
+
members: _5.json({
|
|
64
63
|
description: "Member roles map",
|
|
65
64
|
isOptional: true
|
|
66
65
|
}),
|
|
67
|
-
createdAt:
|
|
68
|
-
updatedAt:
|
|
69
|
-
tasks:
|
|
70
|
-
rituals:
|
|
71
|
-
announcements:
|
|
66
|
+
createdAt: _5.createdAt(),
|
|
67
|
+
updatedAt: _5.updatedAt(),
|
|
68
|
+
tasks: _5.hasMany("Task"),
|
|
69
|
+
rituals: _5.hasMany("Ritual"),
|
|
70
|
+
announcements: _5.hasMany("Announcement")
|
|
72
71
|
},
|
|
73
72
|
indexes: [
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
b5.on(["orgId"]),
|
|
74
|
+
b5.on(["ownerId"]),
|
|
75
|
+
b5.on(["name"])
|
|
77
76
|
]
|
|
78
77
|
});
|
|
79
|
-
const TaskEntity =
|
|
78
|
+
const TaskEntity = L5({
|
|
80
79
|
name: "Task",
|
|
81
80
|
description: "Work item within a space.",
|
|
82
81
|
schema,
|
|
83
82
|
map: "task",
|
|
84
83
|
fields: {
|
|
85
|
-
id:
|
|
86
|
-
spaceId:
|
|
87
|
-
title:
|
|
88
|
-
description:
|
|
84
|
+
id: _5.id({ description: "Unique task identifier" }),
|
|
85
|
+
spaceId: _5.foreignKey({ description: "Parent space" }),
|
|
86
|
+
title: _5.string({ description: "Task title" }),
|
|
87
|
+
description: _5.string({
|
|
89
88
|
description: "Task details",
|
|
90
89
|
isOptional: true
|
|
91
90
|
}),
|
|
92
|
-
status:
|
|
91
|
+
status: _5.enum("TaskStatus", {
|
|
93
92
|
description: "Task status",
|
|
94
93
|
default: "BACKLOG"
|
|
95
94
|
}),
|
|
96
|
-
priority:
|
|
95
|
+
priority: _5.enum("TaskPriority", {
|
|
97
96
|
description: "Task priority",
|
|
98
97
|
default: "MEDIUM"
|
|
99
98
|
}),
|
|
100
|
-
assigneeId:
|
|
99
|
+
assigneeId: _5.string({
|
|
101
100
|
description: "User assigned",
|
|
102
101
|
isOptional: true
|
|
103
102
|
}),
|
|
104
|
-
dueDate:
|
|
103
|
+
dueDate: _5.dateTime({
|
|
105
104
|
description: "Due date",
|
|
106
105
|
isOptional: true
|
|
107
106
|
}),
|
|
108
|
-
tags:
|
|
107
|
+
tags: _5.json({
|
|
109
108
|
description: "Labels/tags",
|
|
110
109
|
isOptional: true
|
|
111
110
|
}),
|
|
112
|
-
orgId:
|
|
113
|
-
createdAt:
|
|
114
|
-
updatedAt:
|
|
115
|
-
space:
|
|
111
|
+
orgId: _5.string({ description: "Organization ID" }),
|
|
112
|
+
createdAt: _5.createdAt(),
|
|
113
|
+
updatedAt: _5.updatedAt(),
|
|
114
|
+
space: _5.belongsTo("Space", ["spaceId"], ["id"], { onDelete: "Cascade" })
|
|
116
115
|
},
|
|
117
116
|
enums: [TaskStatusEnum, TaskPriorityEnum],
|
|
118
117
|
indexes: [
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
b5.on(["spaceId"]),
|
|
119
|
+
b5.on(["orgId", "status"]),
|
|
120
|
+
b5.on(["assigneeId", "status"]),
|
|
121
|
+
b5.on(["dueDate"])
|
|
123
122
|
]
|
|
124
123
|
});
|
|
125
|
-
const RitualEntity =
|
|
124
|
+
const RitualEntity = L5({
|
|
126
125
|
name: "Ritual",
|
|
127
126
|
description: "Recurring ceremony (standup, retro, planning).",
|
|
128
127
|
schema,
|
|
129
128
|
map: "ritual",
|
|
130
129
|
fields: {
|
|
131
|
-
id:
|
|
132
|
-
spaceId:
|
|
133
|
-
title:
|
|
134
|
-
cadence:
|
|
135
|
-
dayOfWeek:
|
|
130
|
+
id: _5.id({ description: "Unique ritual identifier" }),
|
|
131
|
+
spaceId: _5.foreignKey({ description: "Parent space" }),
|
|
132
|
+
title: _5.string({ description: "Ritual title" }),
|
|
133
|
+
cadence: _5.enum("RitualCadence", { description: "Ritual cadence" }),
|
|
134
|
+
dayOfWeek: _5.string({
|
|
136
135
|
description: "Day of week",
|
|
137
136
|
isOptional: true
|
|
138
137
|
}),
|
|
139
|
-
time:
|
|
138
|
+
time: _5.string({
|
|
140
139
|
description: "Local time (HH:mm)",
|
|
141
140
|
isOptional: true
|
|
142
141
|
}),
|
|
143
|
-
facilitatorId:
|
|
142
|
+
facilitatorId: _5.string({
|
|
144
143
|
description: "Facilitator user ID",
|
|
145
144
|
isOptional: true
|
|
146
145
|
}),
|
|
147
|
-
participants:
|
|
146
|
+
participants: _5.json({
|
|
148
147
|
description: "Participant user IDs",
|
|
149
148
|
isOptional: true
|
|
150
149
|
}),
|
|
151
|
-
location:
|
|
150
|
+
location: _5.string({
|
|
152
151
|
description: "Location/URL",
|
|
153
152
|
isOptional: true
|
|
154
153
|
}),
|
|
155
|
-
agendaTemplate:
|
|
154
|
+
agendaTemplate: _5.string({
|
|
156
155
|
description: "Agenda template markdown",
|
|
157
156
|
isOptional: true
|
|
158
157
|
}),
|
|
159
|
-
orgId:
|
|
160
|
-
createdAt:
|
|
161
|
-
updatedAt:
|
|
162
|
-
occurrences:
|
|
163
|
-
space:
|
|
158
|
+
orgId: _5.string({ description: "Organization ID" }),
|
|
159
|
+
createdAt: _5.createdAt(),
|
|
160
|
+
updatedAt: _5.updatedAt(),
|
|
161
|
+
occurrences: _5.hasMany("RitualOccurrence"),
|
|
162
|
+
space: _5.belongsTo("Space", ["spaceId"], ["id"], { onDelete: "Cascade" })
|
|
164
163
|
},
|
|
165
164
|
enums: [RitualCadenceEnum],
|
|
166
|
-
indexes: [
|
|
165
|
+
indexes: [b5.on(["spaceId"]), b5.on(["orgId"])]
|
|
167
166
|
});
|
|
168
|
-
const RitualOccurrenceEntity =
|
|
167
|
+
const RitualOccurrenceEntity = L5({
|
|
169
168
|
name: "RitualOccurrence",
|
|
170
169
|
description: "Specific occurrence of a ritual.",
|
|
171
170
|
schema,
|
|
172
171
|
map: "ritual_occurrence",
|
|
173
172
|
fields: {
|
|
174
|
-
id:
|
|
175
|
-
ritualId:
|
|
176
|
-
scheduledFor:
|
|
177
|
-
status:
|
|
173
|
+
id: _5.id({ description: "Unique occurrence identifier" }),
|
|
174
|
+
ritualId: _5.foreignKey({ description: "Parent ritual" }),
|
|
175
|
+
scheduledFor: _5.dateTime({ description: "Scheduled datetime" }),
|
|
176
|
+
status: _5.string({
|
|
178
177
|
description: "Occurrence status",
|
|
179
178
|
default: "\"scheduled\""
|
|
180
179
|
}),
|
|
181
|
-
summary:
|
|
180
|
+
summary: _5.string({
|
|
182
181
|
description: "Summary/notes",
|
|
183
182
|
isOptional: true
|
|
184
183
|
}),
|
|
185
|
-
attendance:
|
|
184
|
+
attendance: _5.json({
|
|
186
185
|
description: "Attendance list with responses",
|
|
187
186
|
isOptional: true
|
|
188
187
|
}),
|
|
189
|
-
recordingUrl:
|
|
188
|
+
recordingUrl: _5.string({
|
|
190
189
|
description: "Recording link",
|
|
191
190
|
isOptional: true
|
|
192
191
|
}),
|
|
193
|
-
orgId:
|
|
194
|
-
createdAt:
|
|
195
|
-
updatedAt:
|
|
196
|
-
ritual:
|
|
192
|
+
orgId: _5.string({ description: "Organization ID" }),
|
|
193
|
+
createdAt: _5.createdAt(),
|
|
194
|
+
updatedAt: _5.updatedAt(),
|
|
195
|
+
ritual: _5.belongsTo("Ritual", ["ritualId"], ["id"], { onDelete: "Cascade" })
|
|
197
196
|
},
|
|
198
197
|
indexes: [
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
198
|
+
b5.on(["ritualId"]),
|
|
199
|
+
b5.on(["scheduledFor"]),
|
|
200
|
+
b5.on(["orgId"])
|
|
202
201
|
]
|
|
203
202
|
});
|
|
204
|
-
const AnnouncementEntity =
|
|
203
|
+
const AnnouncementEntity = L5({
|
|
205
204
|
name: "Announcement",
|
|
206
205
|
description: "Announcement to a space or org.",
|
|
207
206
|
schema,
|
|
208
207
|
map: "announcement",
|
|
209
208
|
fields: {
|
|
210
|
-
id:
|
|
211
|
-
spaceId:
|
|
209
|
+
id: _5.id({ description: "Unique announcement identifier" }),
|
|
210
|
+
spaceId: _5.string({
|
|
212
211
|
description: "Target space",
|
|
213
212
|
isOptional: true
|
|
214
213
|
}),
|
|
215
|
-
title:
|
|
216
|
-
body:
|
|
217
|
-
audience:
|
|
214
|
+
title: _5.string({ description: "Announcement title" }),
|
|
215
|
+
body: _5.string({ description: "Announcement body" }),
|
|
216
|
+
audience: _5.enum("AnnouncementAudience", {
|
|
218
217
|
description: "Audience targeting",
|
|
219
218
|
default: "ALL"
|
|
220
219
|
}),
|
|
221
|
-
audienceRole:
|
|
220
|
+
audienceRole: _5.string({
|
|
222
221
|
description: "Role targeted when audience is ROLE",
|
|
223
222
|
isOptional: true
|
|
224
223
|
}),
|
|
225
|
-
pinnedUntil:
|
|
224
|
+
pinnedUntil: _5.dateTime({
|
|
226
225
|
description: "Pin expiration",
|
|
227
226
|
isOptional: true
|
|
228
227
|
}),
|
|
229
|
-
orgId:
|
|
230
|
-
createdBy:
|
|
231
|
-
createdAt:
|
|
232
|
-
expiresAt:
|
|
228
|
+
orgId: _5.string({ description: "Organization ID" }),
|
|
229
|
+
createdBy: _5.string({ description: "Creator user ID" }),
|
|
230
|
+
createdAt: _5.createdAt(),
|
|
231
|
+
expiresAt: _5.dateTime({
|
|
233
232
|
description: "Expiration time",
|
|
234
233
|
isOptional: true
|
|
235
234
|
})
|
|
236
235
|
},
|
|
237
236
|
enums: [AnnouncementAudienceEnum],
|
|
238
237
|
indexes: [
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
b5.on(["orgId"]),
|
|
239
|
+
b5.on(["spaceId"]),
|
|
240
|
+
b5.on(["audience"])
|
|
242
241
|
]
|
|
243
242
|
});
|
|
244
243
|
const teamHubEntities = [
|
|
@@ -260,4 +259,5 @@ const teamHubSchemaContribution = {
|
|
|
260
259
|
};
|
|
261
260
|
|
|
262
261
|
//#endregion
|
|
263
|
-
export { AnnouncementAudienceEnum, AnnouncementEntity, RitualCadenceEnum, RitualEntity, RitualOccurrenceEntity, SpaceEntity, TaskEntity, TaskPriorityEnum, TaskStatusEnum, teamHubEntities, teamHubSchemaContribution };
|
|
262
|
+
export { AnnouncementAudienceEnum, AnnouncementEntity, RitualCadenceEnum, RitualEntity, RitualOccurrenceEntity, SpaceEntity, TaskEntity, TaskPriorityEnum, TaskStatusEnum, teamHubEntities, teamHubSchemaContribution };
|
|
263
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["defineEntityEnum","defineEntity","field","index","teamHubSchemaContribution: ModuleSchemaContribution"],"sources":["../../src/entities/index.ts"],"sourcesContent":["import { defineEntity, defineEntityEnum, field, index } from '@lssm/lib.schema';\nimport type { ModuleSchemaContribution } from '@lssm/lib.schema';\n\nconst schema = 'lssm_team_hub';\n\nexport const TaskStatusEnum = defineEntityEnum({\n name: 'TaskStatus',\n schema,\n values: ['BACKLOG', 'IN_PROGRESS', 'BLOCKED', 'DONE'] as const,\n description: 'Task workflow status.',\n});\n\nexport const TaskPriorityEnum = defineEntityEnum({\n name: 'TaskPriority',\n schema,\n values: ['LOW', 'MEDIUM', 'HIGH', 'CRITICAL'] as const,\n description: 'Task priority levels.',\n});\n\nexport const RitualCadenceEnum = defineEntityEnum({\n name: 'RitualCadence',\n schema,\n values: ['DAILY', 'WEEKLY', 'BIWEEKLY', 'MONTHLY'] as const,\n description: 'Recurrence cadence for rituals.',\n});\n\nexport const AnnouncementAudienceEnum = defineEntityEnum({\n name: 'AnnouncementAudience',\n schema,\n values: ['ALL', 'SPACE', 'ROLE'] as const,\n description: 'Targeting scope for announcements.',\n});\n\nexport const SpaceEntity = defineEntity({\n name: 'Space',\n description: 'Space/project container for a team.',\n schema,\n map: 'space',\n fields: {\n id: field.id({ description: 'Unique space identifier' }),\n name: field.string({ description: 'Space name' }),\n description: field.string({\n description: 'Space description',\n isOptional: true,\n }),\n orgId: field.string({ description: 'Organization ID' }),\n ownerId: field.string({ description: 'Space owner' }),\n members: field.json({ description: 'Member roles map', isOptional: true }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n tasks: field.hasMany('Task'),\n rituals: field.hasMany('Ritual'),\n announcements: field.hasMany('Announcement'),\n },\n indexes: [index.on(['orgId']), index.on(['ownerId']), index.on(['name'])],\n});\n\nexport const TaskEntity = defineEntity({\n name: 'Task',\n description: 'Work item within a space.',\n schema,\n map: 'task',\n fields: {\n id: field.id({ description: 'Unique task identifier' }),\n spaceId: field.foreignKey({ description: 'Parent space' }),\n title: field.string({ description: 'Task title' }),\n description: field.string({\n description: 'Task details',\n isOptional: true,\n }),\n status: field.enum('TaskStatus', {\n description: 'Task status',\n default: 'BACKLOG',\n }),\n priority: field.enum('TaskPriority', {\n description: 'Task priority',\n default: 'MEDIUM',\n }),\n assigneeId: field.string({\n description: 'User assigned',\n isOptional: true,\n }),\n dueDate: field.dateTime({ description: 'Due date', isOptional: true }),\n tags: field.json({ description: 'Labels/tags', isOptional: true }),\n orgId: field.string({ description: 'Organization ID' }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n space: field.belongsTo('Space', ['spaceId'], ['id'], {\n onDelete: 'Cascade',\n }),\n },\n enums: [TaskStatusEnum, TaskPriorityEnum],\n indexes: [\n index.on(['spaceId']),\n index.on(['orgId', 'status']),\n index.on(['assigneeId', 'status']),\n index.on(['dueDate']),\n ],\n});\n\nexport const RitualEntity = defineEntity({\n name: 'Ritual',\n description: 'Recurring ceremony (standup, retro, planning).',\n schema,\n map: 'ritual',\n fields: {\n id: field.id({ description: 'Unique ritual identifier' }),\n spaceId: field.foreignKey({ description: 'Parent space' }),\n title: field.string({ description: 'Ritual title' }),\n cadence: field.enum('RitualCadence', { description: 'Ritual cadence' }),\n dayOfWeek: field.string({ description: 'Day of week', isOptional: true }),\n time: field.string({ description: 'Local time (HH:mm)', isOptional: true }),\n facilitatorId: field.string({\n description: 'Facilitator user ID',\n isOptional: true,\n }),\n participants: field.json({\n description: 'Participant user IDs',\n isOptional: true,\n }),\n location: field.string({ description: 'Location/URL', isOptional: true }),\n agendaTemplate: field.string({\n description: 'Agenda template markdown',\n isOptional: true,\n }),\n orgId: field.string({ description: 'Organization ID' }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n occurrences: field.hasMany('RitualOccurrence'),\n space: field.belongsTo('Space', ['spaceId'], ['id'], {\n onDelete: 'Cascade',\n }),\n },\n enums: [RitualCadenceEnum],\n indexes: [index.on(['spaceId']), index.on(['orgId'])],\n});\n\nexport const RitualOccurrenceEntity = defineEntity({\n name: 'RitualOccurrence',\n description: 'Specific occurrence of a ritual.',\n schema,\n map: 'ritual_occurrence',\n fields: {\n id: field.id({ description: 'Unique occurrence identifier' }),\n ritualId: field.foreignKey({ description: 'Parent ritual' }),\n scheduledFor: field.dateTime({ description: 'Scheduled datetime' }),\n status: field.string({\n description: 'Occurrence status',\n default: '\"scheduled\"',\n }),\n summary: field.string({ description: 'Summary/notes', isOptional: true }),\n attendance: field.json({\n description: 'Attendance list with responses',\n isOptional: true,\n }),\n recordingUrl: field.string({\n description: 'Recording link',\n isOptional: true,\n }),\n orgId: field.string({ description: 'Organization ID' }),\n createdAt: field.createdAt(),\n updatedAt: field.updatedAt(),\n ritual: field.belongsTo('Ritual', ['ritualId'], ['id'], {\n onDelete: 'Cascade',\n }),\n },\n indexes: [\n index.on(['ritualId']),\n index.on(['scheduledFor']),\n index.on(['orgId']),\n ],\n});\n\nexport const AnnouncementEntity = defineEntity({\n name: 'Announcement',\n description: 'Announcement to a space or org.',\n schema,\n map: 'announcement',\n fields: {\n id: field.id({ description: 'Unique announcement identifier' }),\n spaceId: field.string({ description: 'Target space', isOptional: true }),\n title: field.string({ description: 'Announcement title' }),\n body: field.string({ description: 'Announcement body' }),\n audience: field.enum('AnnouncementAudience', {\n description: 'Audience targeting',\n default: 'ALL',\n }),\n audienceRole: field.string({\n description: 'Role targeted when audience is ROLE',\n isOptional: true,\n }),\n pinnedUntil: field.dateTime({\n description: 'Pin expiration',\n isOptional: true,\n }),\n orgId: field.string({ description: 'Organization ID' }),\n createdBy: field.string({ description: 'Creator user ID' }),\n createdAt: field.createdAt(),\n expiresAt: field.dateTime({\n description: 'Expiration time',\n isOptional: true,\n }),\n },\n enums: [AnnouncementAudienceEnum],\n indexes: [index.on(['orgId']), index.on(['spaceId']), index.on(['audience'])],\n});\n\nexport const teamHubEntities = [\n SpaceEntity,\n TaskEntity,\n RitualEntity,\n RitualOccurrenceEntity,\n AnnouncementEntity,\n];\n\nexport const teamHubSchemaContribution: ModuleSchemaContribution = {\n moduleId: '@lssm/example.team-hub',\n // schema,\n entities: teamHubEntities,\n enums: [\n TaskStatusEnum,\n TaskPriorityEnum,\n RitualCadenceEnum,\n AnnouncementAudienceEnum,\n ],\n};\n"],"mappings":"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"}
|