@contractspec/example.team-hub 1.46.1 → 1.47.0
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.operations.d.ts +2 -2
- package/dist/entities/index.js.map +1 -1
- package/dist/example.d.ts +2 -2
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +4 -2
- package/dist/example.js.map +1 -1
- package/dist/presentations/index.d.ts +2 -5
- package/dist/presentations/index.js +2 -12
- package/dist/presentations/team-hub.presentation.d.ts +12 -0
- package/dist/presentations/team-hub.presentation.d.ts.map +1 -0
- package/dist/presentations/team-hub.presentation.js +131 -0
- package/dist/presentations/team-hub.presentation.js.map +1 -0
- package/dist/presentations.js.map +1 -1
- package/dist/ritual/ritual.operations.d.ts +3 -3
- package/dist/space/space.operations.d.ts +2 -2
- package/dist/task/task.operations.d.ts +4 -4
- package/dist/team-hub.capability.d.ts +9 -0
- package/dist/team-hub.capability.d.ts.map +1 -0
- package/dist/team-hub.capability.js +38 -0
- package/dist/team-hub.capability.js.map +1 -0
- package/dist/team-hub.feature.d.ts +2 -2
- package/dist/team-hub.feature.d.ts.map +1 -1
- package/dist/team-hub.feature.js +4 -2
- package/dist/team-hub.feature.js.map +1 -1
- package/package.json +7 -7
- package/dist/presentations/index.d.ts.map +0 -1
- package/dist/presentations/index.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as _contractspec_lib_schema93 from "@contractspec/lib.schema";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _contractspec_lib_contracts16 from "@contractspec/lib.contracts";
|
|
3
3
|
|
|
4
4
|
//#region src/announcement/announcement.operations.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Post an announcement.
|
|
7
7
|
*/
|
|
8
|
-
declare const PostAnnouncementContract:
|
|
8
|
+
declare const PostAnnouncementContract: _contractspec_lib_contracts16.OperationSpec<_contractspec_lib_schema93.SchemaModel<{
|
|
9
9
|
title: {
|
|
10
10
|
type: _contractspec_lib_schema93.FieldType<string, string>;
|
|
11
11
|
isOptional: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["teamHubSchemaContribution: ModuleSchemaContribution"],"sources":["../../src/entities/index.ts"],"sourcesContent":["import {\n defineEntity,\n defineEntityEnum,\n field,\n index,\n} from '@contractspec/lib.schema';\nimport type { ModuleSchemaContribution } from '@contractspec/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: '@contractspec/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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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/entities/index.ts"],"sourcesContent":["import {\n defineEntity,\n defineEntityEnum,\n field,\n index,\n} from '@contractspec/lib.schema';\nimport type { ModuleSchemaContribution } from '@contractspec/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: '@contractspec/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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"}
|
package/dist/example.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _contractspec_lib_contracts11 from "@contractspec/lib.contracts";
|
|
2
2
|
|
|
3
3
|
//#region src/example.d.ts
|
|
4
|
-
declare const example: ExampleSpec;
|
|
4
|
+
declare const example: _contractspec_lib_contracts11.ExampleSpec;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { example as default };
|
|
7
7
|
//# sourceMappingURL=example.d.ts.map
|
package/dist/example.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,
|
|
1
|
+
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SAoCJ,6BAAA,CApCW"}
|
package/dist/example.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { defineExample } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
1
3
|
//#region src/example.ts
|
|
2
|
-
const example = {
|
|
4
|
+
const example = defineExample({
|
|
3
5
|
meta: {
|
|
4
6
|
key: "team-hub",
|
|
5
7
|
version: "1.0.0",
|
|
@@ -48,7 +50,7 @@ const example = {
|
|
|
48
50
|
},
|
|
49
51
|
mcp: { enabled: true }
|
|
50
52
|
}
|
|
51
|
-
};
|
|
53
|
+
});
|
|
52
54
|
var example_default = example;
|
|
53
55
|
|
|
54
56
|
//#endregion
|
package/dist/example.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","names":[
|
|
1
|
+
{"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["import { defineExample } from '@contractspec/lib.contracts';\n\nconst example = defineExample({\n meta: {\n key: 'team-hub',\n version: '1.0.0',\n title: 'Team Hub',\n description:\n 'Internal collaboration hub with spaces, tasks, rituals, and announcements.',\n kind: 'template',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['tasks', 'rituals', 'announcements', 'collaboration'],\n },\n docs: {\n rootDocId: 'docs.examples.team-hub',\n goalDocId: 'docs.examples.team-hub.goal',\n usageDocId: 'docs.examples.team-hub.usage',\n constraintsDocId: 'docs.examples.team-hub.constraints',\n },\n entrypoints: {\n packageName: '@contractspec/example.team-hub',\n feature: './feature',\n contracts: './contracts',\n presentations: './presentations',\n handlers: './handlers',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: {\n enabled: true,\n modes: ['playground', 'specs', 'builder', 'markdown', 'evolution'],\n },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n});\n\nexport default example;\n"],"mappings":";;;AAEA,MAAM,UAAU,cAAc;CAC5B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAS;GAAW;GAAiB;GAAgB;EAC7D;CACD,MAAM;EACJ,WAAW;EACX,WAAW;EACX,YAAY;EACZ,kBAAkB;EACnB;CACD,aAAa;EACX,aAAa;EACb,SAAS;EACT,WAAW;EACX,eAAe;EACf,UAAU;EACV,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GACP,SAAS;GACT,OAAO;IAAC;IAAc;IAAS;IAAW;IAAY;IAAY;GACnE;EACD,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF,CAAC;AAEF,sBAAe"}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//#endregion
|
|
4
|
-
export { TeamHubPresentations };
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
import { AnnouncementFeedPresentation, RitualCalendarPresentation, SpaceListPresentation, TaskBoardPresentation, TaskDetailPresentation, TeamDashboardPresentation } from "./team-hub.presentation.js";
|
|
2
|
+
export { AnnouncementFeedPresentation, RitualCalendarPresentation, SpaceListPresentation, TaskBoardPresentation, TaskDetailPresentation, TeamDashboardPresentation };
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
const TeamHubPresentations = [
|
|
3
|
-
"team-hub.dashboard",
|
|
4
|
-
"team-hub.space.list",
|
|
5
|
-
"team-hub.task.board",
|
|
6
|
-
"team-hub.task.detail",
|
|
7
|
-
"team-hub.ritual.calendar",
|
|
8
|
-
"team-hub.announcement.feed"
|
|
9
|
-
];
|
|
1
|
+
import { AnnouncementFeedPresentation, RitualCalendarPresentation, SpaceListPresentation, TaskBoardPresentation, TaskDetailPresentation, TeamDashboardPresentation } from "./team-hub.presentation.js";
|
|
10
2
|
|
|
11
|
-
|
|
12
|
-
export { TeamHubPresentations };
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
3
|
+
export { AnnouncementFeedPresentation, RitualCalendarPresentation, SpaceListPresentation, TaskBoardPresentation, TaskDetailPresentation, TeamDashboardPresentation };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as _contractspec_lib_contracts17 from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
3
|
+
//#region src/presentations/team-hub.presentation.d.ts
|
|
4
|
+
declare const TeamDashboardPresentation: _contractspec_lib_contracts17.PresentationSpec;
|
|
5
|
+
declare const SpaceListPresentation: _contractspec_lib_contracts17.PresentationSpec;
|
|
6
|
+
declare const TaskBoardPresentation: _contractspec_lib_contracts17.PresentationSpec;
|
|
7
|
+
declare const TaskDetailPresentation: _contractspec_lib_contracts17.PresentationSpec;
|
|
8
|
+
declare const RitualCalendarPresentation: _contractspec_lib_contracts17.PresentationSpec;
|
|
9
|
+
declare const AnnouncementFeedPresentation: _contractspec_lib_contracts17.PresentationSpec;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { AnnouncementFeedPresentation, RitualCalendarPresentation, SpaceListPresentation, TaskBoardPresentation, TaskDetailPresentation, TeamDashboardPresentation };
|
|
12
|
+
//# sourceMappingURL=team-hub.presentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-hub.presentation.d.ts","names":[],"sources":["../../src/presentations/team-hub.presentation.ts"],"sourcesContent":[],"mappings":";;;cAOa,2BAmBX,6BAAA,CAnBoC;cAqBzB,uBAmBX,6BAAA,CAnBgC;cAqBrB,uBAmBX,6BAAA,CAnBgC;AA1CrB,cA+DA,sBA5CX,EA+DA,6BAAA,CAnBiC,gBA5CjC;AAEW,cA+DA,0BA5CX,EA+DA,6BAAA,CAnBqC,gBA5CrC;AAEW,cA+DA,4BA5CX,EA+DA,6BAAA,CAnBuC,gBA5CvC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { StabilityEnum, definePresentation } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
3
|
+
//#region src/presentations/team-hub.presentation.ts
|
|
4
|
+
/**
|
|
5
|
+
* Team Hub Presentations
|
|
6
|
+
*/
|
|
7
|
+
const OWNERS = ["@team-hub"];
|
|
8
|
+
const TeamDashboardPresentation = definePresentation({
|
|
9
|
+
meta: {
|
|
10
|
+
key: "team-hub.dashboard",
|
|
11
|
+
version: "1.0.0",
|
|
12
|
+
title: "Team Dashboard",
|
|
13
|
+
description: "Main team hub dashboard.",
|
|
14
|
+
domain: "team-hub",
|
|
15
|
+
owners: [...OWNERS],
|
|
16
|
+
stability: StabilityEnum.Experimental,
|
|
17
|
+
goal: "Central hub for team activity.",
|
|
18
|
+
context: "Landing page for team members.",
|
|
19
|
+
tags: ["dashboard", "team"]
|
|
20
|
+
},
|
|
21
|
+
source: {
|
|
22
|
+
type: "component",
|
|
23
|
+
framework: "react",
|
|
24
|
+
componentKey: "TeamDashboard"
|
|
25
|
+
},
|
|
26
|
+
targets: ["react"]
|
|
27
|
+
});
|
|
28
|
+
const SpaceListPresentation = definePresentation({
|
|
29
|
+
meta: {
|
|
30
|
+
key: "team-hub.space.list",
|
|
31
|
+
version: "1.0.0",
|
|
32
|
+
title: "Space List",
|
|
33
|
+
description: "List of team spaces.",
|
|
34
|
+
domain: "team-hub",
|
|
35
|
+
owners: [...OWNERS],
|
|
36
|
+
stability: StabilityEnum.Experimental,
|
|
37
|
+
goal: "Navigate between team spaces.",
|
|
38
|
+
context: "Sidebar or spaces hub.",
|
|
39
|
+
tags: ["space", "list"]
|
|
40
|
+
},
|
|
41
|
+
source: {
|
|
42
|
+
type: "component",
|
|
43
|
+
framework: "react",
|
|
44
|
+
componentKey: "SpaceList"
|
|
45
|
+
},
|
|
46
|
+
targets: ["react"]
|
|
47
|
+
});
|
|
48
|
+
const TaskBoardPresentation = definePresentation({
|
|
49
|
+
meta: {
|
|
50
|
+
key: "team-hub.task.board",
|
|
51
|
+
version: "1.0.0",
|
|
52
|
+
title: "Task Board",
|
|
53
|
+
description: "Kanban board for team tasks.",
|
|
54
|
+
domain: "team-hub",
|
|
55
|
+
owners: [...OWNERS],
|
|
56
|
+
stability: StabilityEnum.Experimental,
|
|
57
|
+
goal: "Visualize task progress.",
|
|
58
|
+
context: "Project management view.",
|
|
59
|
+
tags: ["task", "board"]
|
|
60
|
+
},
|
|
61
|
+
source: {
|
|
62
|
+
type: "component",
|
|
63
|
+
framework: "react",
|
|
64
|
+
componentKey: "TaskBoard"
|
|
65
|
+
},
|
|
66
|
+
targets: ["react"]
|
|
67
|
+
});
|
|
68
|
+
const TaskDetailPresentation = definePresentation({
|
|
69
|
+
meta: {
|
|
70
|
+
key: "team-hub.task.detail",
|
|
71
|
+
version: "1.0.0",
|
|
72
|
+
title: "Task Detail",
|
|
73
|
+
description: "Detailed view of a task.",
|
|
74
|
+
domain: "team-hub",
|
|
75
|
+
owners: [...OWNERS],
|
|
76
|
+
stability: StabilityEnum.Experimental,
|
|
77
|
+
goal: "View and edit task details.",
|
|
78
|
+
context: "Task modal or page.",
|
|
79
|
+
tags: ["task", "detail"]
|
|
80
|
+
},
|
|
81
|
+
source: {
|
|
82
|
+
type: "component",
|
|
83
|
+
framework: "react",
|
|
84
|
+
componentKey: "TaskDetail"
|
|
85
|
+
},
|
|
86
|
+
targets: ["react"]
|
|
87
|
+
});
|
|
88
|
+
const RitualCalendarPresentation = definePresentation({
|
|
89
|
+
meta: {
|
|
90
|
+
key: "team-hub.ritual.calendar",
|
|
91
|
+
version: "1.0.0",
|
|
92
|
+
title: "Ritual Calendar",
|
|
93
|
+
description: "Calendar of team rituals and events.",
|
|
94
|
+
domain: "team-hub",
|
|
95
|
+
owners: [...OWNERS],
|
|
96
|
+
stability: StabilityEnum.Experimental,
|
|
97
|
+
goal: "Schedule and view team events.",
|
|
98
|
+
context: "Calendar view.",
|
|
99
|
+
tags: ["ritual", "calendar"]
|
|
100
|
+
},
|
|
101
|
+
source: {
|
|
102
|
+
type: "component",
|
|
103
|
+
framework: "react",
|
|
104
|
+
componentKey: "RitualCalendar"
|
|
105
|
+
},
|
|
106
|
+
targets: ["react"]
|
|
107
|
+
});
|
|
108
|
+
const AnnouncementFeedPresentation = definePresentation({
|
|
109
|
+
meta: {
|
|
110
|
+
key: "team-hub.announcement.feed",
|
|
111
|
+
version: "1.0.0",
|
|
112
|
+
title: "Announcement Feed",
|
|
113
|
+
description: "Feed of team announcements.",
|
|
114
|
+
domain: "team-hub",
|
|
115
|
+
owners: [...OWNERS],
|
|
116
|
+
stability: StabilityEnum.Experimental,
|
|
117
|
+
goal: "Broadcast important team news.",
|
|
118
|
+
context: "Dashboard widget or dedicated page.",
|
|
119
|
+
tags: ["announcement", "feed"]
|
|
120
|
+
},
|
|
121
|
+
source: {
|
|
122
|
+
type: "component",
|
|
123
|
+
framework: "react",
|
|
124
|
+
componentKey: "AnnouncementFeed"
|
|
125
|
+
},
|
|
126
|
+
targets: ["react"]
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
//#endregion
|
|
130
|
+
export { AnnouncementFeedPresentation, RitualCalendarPresentation, SpaceListPresentation, TaskBoardPresentation, TaskDetailPresentation, TeamDashboardPresentation };
|
|
131
|
+
//# sourceMappingURL=team-hub.presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-hub.presentation.js","names":[],"sources":["../../src/presentations/team-hub.presentation.ts"],"sourcesContent":["/**\n * Team Hub Presentations\n */\nimport { definePresentation, StabilityEnum } from '@contractspec/lib.contracts';\n\nconst OWNERS = ['@team-hub'] as const;\n\nexport const TeamDashboardPresentation = definePresentation({\n meta: {\n key: 'team-hub.dashboard',\n version: '1.0.0',\n title: 'Team Dashboard',\n description: 'Main team hub dashboard.',\n domain: 'team-hub',\n owners: [...OWNERS],\n stability: StabilityEnum.Experimental,\n goal: 'Central hub for team activity.',\n context: 'Landing page for team members.',\n tags: ['dashboard', 'team'],\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'TeamDashboard',\n },\n targets: ['react'],\n});\n\nexport const SpaceListPresentation = definePresentation({\n meta: {\n key: 'team-hub.space.list',\n version: '1.0.0',\n title: 'Space List',\n description: 'List of team spaces.',\n domain: 'team-hub',\n owners: [...OWNERS],\n stability: StabilityEnum.Experimental,\n goal: 'Navigate between team spaces.',\n context: 'Sidebar or spaces hub.',\n tags: ['space', 'list'],\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SpaceList',\n },\n targets: ['react'],\n});\n\nexport const TaskBoardPresentation = definePresentation({\n meta: {\n key: 'team-hub.task.board',\n version: '1.0.0',\n title: 'Task Board',\n description: 'Kanban board for team tasks.',\n domain: 'team-hub',\n owners: [...OWNERS],\n stability: StabilityEnum.Experimental,\n goal: 'Visualize task progress.',\n context: 'Project management view.',\n tags: ['task', 'board'],\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'TaskBoard',\n },\n targets: ['react'],\n});\n\nexport const TaskDetailPresentation = definePresentation({\n meta: {\n key: 'team-hub.task.detail',\n version: '1.0.0',\n title: 'Task Detail',\n description: 'Detailed view of a task.',\n domain: 'team-hub',\n owners: [...OWNERS],\n stability: StabilityEnum.Experimental,\n goal: 'View and edit task details.',\n context: 'Task modal or page.',\n tags: ['task', 'detail'],\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'TaskDetail',\n },\n targets: ['react'],\n});\n\nexport const RitualCalendarPresentation = definePresentation({\n meta: {\n key: 'team-hub.ritual.calendar',\n version: '1.0.0',\n title: 'Ritual Calendar',\n description: 'Calendar of team rituals and events.',\n domain: 'team-hub',\n owners: [...OWNERS],\n stability: StabilityEnum.Experimental,\n goal: 'Schedule and view team events.',\n context: 'Calendar view.',\n tags: ['ritual', 'calendar'],\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'RitualCalendar',\n },\n targets: ['react'],\n});\n\nexport const AnnouncementFeedPresentation = definePresentation({\n meta: {\n key: 'team-hub.announcement.feed',\n version: '1.0.0',\n title: 'Announcement Feed',\n description: 'Feed of team announcements.',\n domain: 'team-hub',\n owners: [...OWNERS],\n stability: StabilityEnum.Experimental,\n goal: 'Broadcast important team news.',\n context: 'Dashboard widget or dedicated page.',\n tags: ['announcement', 'feed'],\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'AnnouncementFeed',\n },\n targets: ['react'],\n});\n"],"mappings":";;;;;;AAKA,MAAM,SAAS,CAAC,YAAY;AAE5B,MAAa,4BAA4B,mBAAmB;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACT,MAAM,CAAC,aAAa,OAAO;EAC5B;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB,CAAC;AAEF,MAAa,wBAAwB,mBAAmB;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACT,MAAM,CAAC,SAAS,OAAO;EACxB;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB,CAAC;AAEF,MAAa,wBAAwB,mBAAmB;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACT,MAAM,CAAC,QAAQ,QAAQ;EACxB;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB,CAAC;AAEF,MAAa,yBAAyB,mBAAmB;CACvD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACT,MAAM,CAAC,QAAQ,SAAS;EACzB;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB,CAAC;AAEF,MAAa,6BAA6B,mBAAmB;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACT,MAAM,CAAC,UAAU,WAAW;EAC7B;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB,CAAC;AAEF,MAAa,+BAA+B,mBAAmB;CAC7D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,GAAG,OAAO;EACnB,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACT,MAAM,CAAC,gBAAgB,OAAO;EAC/B;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentations.js","names":[
|
|
1
|
+
{"version":3,"file":"presentations.js","names":[],"sources":["../src/presentations.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\nexport const TeamDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'team-hub.dashboard',\n version: '1.0.0',\n title: 'Team Dashboard',\n description: 'Team hub dashboard with activity overview',\n domain: 'collaboration',\n owners: ['@team-hub'],\n tags: ['team', 'dashboard'],\n stability: StabilityEnum.Experimental,\n goal: 'High-level overview of team activity',\n context: 'Team home page',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'TeamDashboard',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['team.dashboard.enabled'],\n },\n};\n\nexport const SpaceListPresentation: PresentationSpec = {\n meta: {\n key: 'team-hub.space.list',\n version: '1.0.0',\n title: 'Space List',\n description: 'List of team spaces',\n domain: 'collaboration',\n owners: ['@team-hub'],\n tags: ['team', 'spaces', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'Browse and manage team spaces',\n context: 'Team navigation',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'SpaceList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['team.spaces.enabled'],\n },\n};\n\nexport const TaskBoardPresentation: PresentationSpec = {\n meta: {\n key: 'team-hub.task.board',\n version: '1.0.0',\n title: 'Task Board',\n description: 'Task board with kanban view',\n domain: 'collaboration',\n owners: ['@team-hub'],\n tags: ['team', 'tasks', 'board', 'kanban'],\n stability: StabilityEnum.Experimental,\n goal: 'Visual task management',\n context: 'Team task workflows',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'TaskBoard',\n },\n targets: ['react'],\n policy: {\n flags: ['team.tasks.enabled'],\n },\n};\n\nexport const TaskDetailPresentation: PresentationSpec = {\n meta: {\n key: 'team-hub.task.detail',\n version: '1.0.0',\n title: 'Task Details',\n description: 'Task detail with comments and history',\n domain: 'collaboration',\n owners: ['@team-hub'],\n tags: ['team', 'task', 'detail'],\n stability: StabilityEnum.Experimental,\n goal: 'Detailed task view with collaboration',\n context: 'Task inspection and updates',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'TaskDetail',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['team.tasks.enabled'],\n },\n};\n\nexport const RitualCalendarPresentation: PresentationSpec = {\n meta: {\n key: 'team-hub.ritual.calendar',\n version: '1.0.0',\n title: 'Ritual Calendar',\n description: 'Calendar view of team rituals',\n domain: 'collaboration',\n owners: ['@team-hub'],\n tags: ['team', 'rituals', 'calendar'],\n stability: StabilityEnum.Experimental,\n goal: 'Plan and view recurring team rituals',\n context: 'Team scheduling',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'RitualCalendar',\n },\n targets: ['react'],\n policy: {\n flags: ['team.rituals.enabled'],\n },\n};\n\nexport const AnnouncementFeedPresentation: PresentationSpec = {\n meta: {\n key: 'team-hub.announcement.feed',\n version: '1.0.0',\n title: 'Announcement Feed',\n description: 'Feed of team announcements',\n domain: 'collaboration',\n owners: ['@team-hub'],\n tags: ['team', 'announcements', 'feed'],\n stability: StabilityEnum.Experimental,\n goal: 'Communicate updates to the team',\n context: 'Team communication',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'AnnouncementFeed',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['team.announcements.enabled'],\n },\n};\n"],"mappings":";;;AAGA,MAAa,4BAA8C;CACzD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM,CAAC,QAAQ,YAAY;EAC3B,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,yBAAyB,EAClC;CACF;AAED,MAAa,wBAA0C;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAQ;GAAU;GAAO;EAChC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,sBAAsB,EAC/B;CACF;AAED,MAAa,wBAA0C;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAQ;GAAS;GAAS;GAAS;EAC1C,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,qBAAqB,EAC9B;CACF;AAED,MAAa,yBAA2C;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAQ;GAAQ;GAAS;EAChC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,qBAAqB,EAC9B;CACF;AAED,MAAa,6BAA+C;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAQ;GAAW;GAAW;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,QAAQ;CAClB,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF;AAED,MAAa,+BAAiD;CAC5D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAQ;GAAiB;GAAO;EACvC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,6BAA6B,EACtC;CACF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as _contractspec_lib_schema257 from "@contractspec/lib.schema";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _contractspec_lib_contracts23 from "@contractspec/lib.contracts";
|
|
3
3
|
|
|
4
4
|
//#region src/ritual/ritual.operations.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Schedule a ritual.
|
|
7
7
|
*/
|
|
8
|
-
declare const ScheduleRitualContract:
|
|
8
|
+
declare const ScheduleRitualContract: _contractspec_lib_contracts23.OperationSpec<_contractspec_lib_schema257.SchemaModel<{
|
|
9
9
|
spaceId: {
|
|
10
10
|
type: _contractspec_lib_schema257.FieldType<string, string>;
|
|
11
11
|
isOptional: false;
|
|
@@ -59,7 +59,7 @@ declare const ScheduleRitualContract: _contractspec_lib_contracts12.OperationSpe
|
|
|
59
59
|
/**
|
|
60
60
|
* Log ritual occurrence.
|
|
61
61
|
*/
|
|
62
|
-
declare const LogRitualOccurrenceContract:
|
|
62
|
+
declare const LogRitualOccurrenceContract: _contractspec_lib_contracts23.OperationSpec<_contractspec_lib_schema257.SchemaModel<{
|
|
63
63
|
ritualId: {
|
|
64
64
|
type: _contractspec_lib_schema257.FieldType<string, string>;
|
|
65
65
|
isOptional: false;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as _contractspec_lib_schema302 from "@contractspec/lib.schema";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _contractspec_lib_contracts25 from "@contractspec/lib.contracts";
|
|
3
3
|
|
|
4
4
|
//#region src/space/space.operations.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Create a new team space.
|
|
7
7
|
*/
|
|
8
|
-
declare const CreateSpaceContract:
|
|
8
|
+
declare const CreateSpaceContract: _contractspec_lib_contracts25.OperationSpec<_contractspec_lib_schema302.SchemaModel<{
|
|
9
9
|
name: {
|
|
10
10
|
type: _contractspec_lib_schema302.FieldType<string, string>;
|
|
11
11
|
isOptional: false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _contractspec_lib_schema324 from "@contractspec/lib.schema";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _contractspec_lib_contracts26 from "@contractspec/lib.contracts";
|
|
3
3
|
|
|
4
4
|
//#region src/task/task.operations.d.ts
|
|
5
5
|
declare const ListTasksInputModel: _contractspec_lib_schema324.SchemaModel<{
|
|
@@ -64,7 +64,7 @@ declare const ListTasksOutputModel: _contractspec_lib_schema324.SchemaModel<{
|
|
|
64
64
|
isOptional: false;
|
|
65
65
|
};
|
|
66
66
|
}>;
|
|
67
|
-
declare const ListTasksOperation:
|
|
67
|
+
declare const ListTasksOperation: _contractspec_lib_contracts26.OperationSpec<_contractspec_lib_schema324.SchemaModel<{
|
|
68
68
|
spaceId: {
|
|
69
69
|
type: _contractspec_lib_schema324.FieldType<string, string>;
|
|
70
70
|
isOptional: true;
|
|
@@ -128,7 +128,7 @@ declare const ListTasksOperation: _contractspec_lib_contracts15.OperationSpec<_c
|
|
|
128
128
|
/**
|
|
129
129
|
* Create a task.
|
|
130
130
|
*/
|
|
131
|
-
declare const CreateTaskContract:
|
|
131
|
+
declare const CreateTaskContract: _contractspec_lib_contracts26.OperationSpec<_contractspec_lib_schema324.SchemaModel<{
|
|
132
132
|
spaceId: {
|
|
133
133
|
type: _contractspec_lib_schema324.FieldType<string, string>;
|
|
134
134
|
isOptional: false;
|
|
@@ -186,7 +186,7 @@ declare const CreateTaskContract: _contractspec_lib_contracts15.OperationSpec<_c
|
|
|
186
186
|
/**
|
|
187
187
|
* Update task status.
|
|
188
188
|
*/
|
|
189
|
-
declare const UpdateTaskStatusContract:
|
|
189
|
+
declare const UpdateTaskStatusContract: _contractspec_lib_contracts26.OperationSpec<_contractspec_lib_schema324.SchemaModel<{
|
|
190
190
|
taskId: {
|
|
191
191
|
type: _contractspec_lib_schema324.FieldType<string, string>;
|
|
192
192
|
isOptional: false;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as _contractspec_lib_contracts12 from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
3
|
+
//#region src/team-hub.capability.d.ts
|
|
4
|
+
declare const TasksCapability: _contractspec_lib_contracts12.CapabilitySpec;
|
|
5
|
+
declare const RitualsCapability: _contractspec_lib_contracts12.CapabilitySpec;
|
|
6
|
+
declare const AnnouncementsCapability: _contractspec_lib_contracts12.CapabilitySpec;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { AnnouncementsCapability, RitualsCapability, TasksCapability };
|
|
9
|
+
//# sourceMappingURL=team-hub.capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-hub.capability.d.ts","names":[],"sources":["../src/team-hub.capability.ts"],"sourcesContent":[],"mappings":";;;cAEa,iBAUX,6BAAA,CAV0B;cAYf,mBAUX,6BAAA,CAV4B;cAYjB,yBAUX,6BAAA,CAVkC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { StabilityEnum, defineCapability } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
3
|
+
//#region src/team-hub.capability.ts
|
|
4
|
+
const TasksCapability = defineCapability({ meta: {
|
|
5
|
+
key: "tasks",
|
|
6
|
+
version: "1.0.0",
|
|
7
|
+
kind: "ui",
|
|
8
|
+
stability: StabilityEnum.Experimental,
|
|
9
|
+
description: "Task management for teams",
|
|
10
|
+
owners: ["platform.core"],
|
|
11
|
+
tags: ["tasks", "collaboration"]
|
|
12
|
+
} });
|
|
13
|
+
const RitualsCapability = defineCapability({ meta: {
|
|
14
|
+
key: "rituals",
|
|
15
|
+
version: "1.0.0",
|
|
16
|
+
kind: "ui",
|
|
17
|
+
stability: StabilityEnum.Experimental,
|
|
18
|
+
description: "Team rituals like standups and retrospectives",
|
|
19
|
+
owners: ["platform.core"],
|
|
20
|
+
tags: [
|
|
21
|
+
"rituals",
|
|
22
|
+
"team",
|
|
23
|
+
"meetings"
|
|
24
|
+
]
|
|
25
|
+
} });
|
|
26
|
+
const AnnouncementsCapability = defineCapability({ meta: {
|
|
27
|
+
key: "announcements",
|
|
28
|
+
version: "1.0.0",
|
|
29
|
+
kind: "ui",
|
|
30
|
+
stability: StabilityEnum.Experimental,
|
|
31
|
+
description: "Team announcements and communications",
|
|
32
|
+
owners: ["platform.messaging"],
|
|
33
|
+
tags: ["announcements", "messaging"]
|
|
34
|
+
} });
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { AnnouncementsCapability, RitualsCapability, TasksCapability };
|
|
38
|
+
//# sourceMappingURL=team-hub.capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-hub.capability.js","names":[],"sources":["../src/team-hub.capability.ts"],"sourcesContent":["import { defineCapability, StabilityEnum } from '@contractspec/lib.contracts';\n\nexport const TasksCapability = defineCapability({\n meta: {\n key: 'tasks',\n version: '1.0.0',\n kind: 'ui',\n stability: StabilityEnum.Experimental,\n description: 'Task management for teams',\n owners: ['platform.core'],\n tags: ['tasks', 'collaboration'],\n },\n});\n\nexport const RitualsCapability = defineCapability({\n meta: {\n key: 'rituals',\n version: '1.0.0',\n kind: 'ui',\n stability: StabilityEnum.Experimental,\n description: 'Team rituals like standups and retrospectives',\n owners: ['platform.core'],\n tags: ['rituals', 'team', 'meetings'],\n },\n});\n\nexport const AnnouncementsCapability = defineCapability({\n meta: {\n key: 'announcements',\n version: '1.0.0',\n kind: 'ui',\n stability: StabilityEnum.Experimental,\n description: 'Team announcements and communications',\n owners: ['platform.messaging'],\n tags: ['announcements', 'messaging'],\n },\n});\n"],"mappings":";;;AAEA,MAAa,kBAAkB,iBAAiB,EAC9C,MAAM;CACJ,KAAK;CACL,SAAS;CACT,MAAM;CACN,WAAW,cAAc;CACzB,aAAa;CACb,QAAQ,CAAC,gBAAgB;CACzB,MAAM,CAAC,SAAS,gBAAgB;CACjC,EACF,CAAC;AAEF,MAAa,oBAAoB,iBAAiB,EAChD,MAAM;CACJ,KAAK;CACL,SAAS;CACT,MAAM;CACN,WAAW,cAAc;CACzB,aAAa;CACb,QAAQ,CAAC,gBAAgB;CACzB,MAAM;EAAC;EAAW;EAAQ;EAAW;CACtC,EACF,CAAC;AAEF,MAAa,0BAA0B,iBAAiB,EACtD,MAAM;CACJ,KAAK;CACL,SAAS;CACT,MAAM;CACN,WAAW,cAAc;CACzB,aAAa;CACb,QAAQ,CAAC,qBAAqB;CAC9B,MAAM,CAAC,iBAAiB,YAAY;CACrC,EACF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _contractspec_lib_contracts15 from "@contractspec/lib.contracts";
|
|
2
2
|
|
|
3
3
|
//#region src/team-hub.feature.d.ts
|
|
4
|
-
declare const TeamHubFeature: FeatureModuleSpec;
|
|
4
|
+
declare const TeamHubFeature: _contractspec_lib_contracts15.FeatureModuleSpec;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { TeamHubFeature };
|
|
7
7
|
//# sourceMappingURL=team-hub.feature.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-hub.feature.d.ts","names":[],"sources":["../src/team-hub.feature.ts"],"sourcesContent":[],"mappings":";;;cAEa,
|
|
1
|
+
{"version":3,"file":"team-hub.feature.d.ts","names":[],"sources":["../src/team-hub.feature.ts"],"sourcesContent":[],"mappings":";;;cAEa,gBAgEX,6BAAA,CAhEyB"}
|
package/dist/team-hub.feature.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { defineFeature } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
1
3
|
//#region src/team-hub.feature.ts
|
|
2
|
-
const TeamHubFeature = {
|
|
4
|
+
const TeamHubFeature = defineFeature({
|
|
3
5
|
meta: {
|
|
4
6
|
key: "team-hub",
|
|
5
7
|
title: "Team Hub",
|
|
@@ -152,7 +154,7 @@ const TeamHubFeature = {
|
|
|
152
154
|
}
|
|
153
155
|
]
|
|
154
156
|
}
|
|
155
|
-
};
|
|
157
|
+
});
|
|
156
158
|
|
|
157
159
|
//#endregion
|
|
158
160
|
export { TeamHubFeature };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-hub.feature.js","names":[
|
|
1
|
+
{"version":3,"file":"team-hub.feature.js","names":[],"sources":["../src/team-hub.feature.ts"],"sourcesContent":["import { defineFeature } from '@contractspec/lib.contracts';\n\nexport const TeamHubFeature = defineFeature({\n meta: {\n key: 'team-hub',\n title: 'Team Hub',\n description:\n 'Tasks, rituals, and announcements for internal teams with ceremonies.',\n domain: 'collaboration',\n owners: ['@team-hub'],\n tags: ['tasks', 'rituals', 'announcements'],\n stability: 'experimental',\n version: '1.0.0',\n },\n operations: [\n { key: 'team.space.create', version: '1.0.0' },\n { key: 'team.task.create', version: '1.0.0' },\n { key: 'team.task.updateStatus', version: '1.0.0' },\n { key: 'team.task.list', version: '1.0.0' },\n { key: 'team.ritual.schedule', version: '1.0.0' },\n { key: 'team.ritual.logOccurrence', version: '1.0.0' },\n { key: 'team.announcement.post', version: '1.0.0' },\n ],\n events: [\n { key: 'team.space.created', version: '1.0.0' },\n { key: 'team.task.created', version: '1.0.0' },\n { key: 'team.task.status_changed', version: '1.0.0' },\n { key: 'team.ritual.scheduled', version: '1.0.0' },\n { key: 'team.ritual.occurred', version: '1.0.0' },\n { key: 'team.announcement.posted', version: '1.0.0' },\n ],\n presentations: [\n { key: 'team-hub.dashboard', version: '1.0.0' },\n { key: 'team-hub.space.list', version: '1.0.0' },\n { key: 'team-hub.task.board', version: '1.0.0' },\n { key: 'team-hub.task.detail', version: '1.0.0' },\n { key: 'team-hub.ritual.calendar', version: '1.0.0' },\n { key: 'team-hub.announcement.feed', version: '1.0.0' },\n ],\n presentationsTargets: [\n {\n key: 'team-hub.dashboard',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n { key: 'team-hub.task.board', version: '1.0.0', targets: ['react'] },\n { key: 'team-hub.ritual.calendar', version: '1.0.0', targets: ['react'] },\n {\n key: 'team-hub.announcement.feed',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n ],\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n { key: 'feature-flags', version: '1.0.0' },\n ],\n provides: [\n { key: 'tasks', version: '1.0.0' },\n { key: 'rituals', version: '1.0.0' },\n { key: 'announcements', version: '1.0.0' },\n ],\n },\n});\n"],"mappings":";;;AAEA,MAAa,iBAAiB,cAAc;CAC1C,MAAM;EACJ,KAAK;EACL,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAS;GAAW;GAAgB;EAC3C,WAAW;EACX,SAAS;EACV;CACD,YAAY;EACV;GAAE,KAAK;GAAqB,SAAS;GAAS;EAC9C;GAAE,KAAK;GAAoB,SAAS;GAAS;EAC7C;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAAkB,SAAS;GAAS;EAC3C;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAA6B,SAAS;GAAS;EACtD;GAAE,KAAK;GAA0B,SAAS;GAAS;EACpD;CACD,QAAQ;EACN;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAAqB,SAAS;GAAS;EAC9C;GAAE,KAAK;GAA4B,SAAS;GAAS;EACrD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAA4B,SAAS;GAAS;EACtD;CACD,eAAe;EACb;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAA4B,SAAS;GAAS;EACrD;GAAE,KAAK;GAA8B,SAAS;GAAS;EACxD;CACD,sBAAsB;EACpB;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GAAE,KAAK;GAAuB,SAAS;GAAS,SAAS,CAAC,QAAQ;GAAE;EACpE;GAAE,KAAK;GAA4B,SAAS;GAAS,SAAS,CAAC,QAAQ;GAAE;EACzE;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACF;CACD,cAAc;EACZ,UAAU;GACR;IAAE,KAAK;IAAY,SAAS;IAAS;GACrC;IAAE,KAAK;IAAe,SAAS;IAAS;GACxC;IAAE,KAAK;IAAiB,SAAS;IAAS;GAC1C;IAAE,KAAK;IAAiB,SAAS;IAAS;GAC3C;EACD,UAAU;GACR;IAAE,KAAK;IAAS,SAAS;IAAS;GAClC;IAAE,KAAK;IAAW,SAAS;IAAS;GACpC;IAAE,KAAK;IAAiB,SAAS;IAAS;GAC3C;EACF;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contractspec/example.team-hub",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.47.0",
|
|
4
4
|
"description": "Team Hub example with spaces, tasks, rituals, and announcements",
|
|
5
|
-
"main": "./dist/index.js",
|
|
6
5
|
"types": "./dist/index.d.ts",
|
|
7
6
|
"type": "module",
|
|
8
7
|
"scripts": {
|
|
@@ -18,12 +17,12 @@
|
|
|
18
17
|
"lint:check": "eslint src"
|
|
19
18
|
},
|
|
20
19
|
"dependencies": {
|
|
21
|
-
"@contractspec/lib.schema": "1.
|
|
22
|
-
"@contractspec/lib.contracts": "1.
|
|
20
|
+
"@contractspec/lib.schema": "1.47.0",
|
|
21
|
+
"@contractspec/lib.contracts": "1.47.0"
|
|
23
22
|
},
|
|
24
23
|
"devDependencies": {
|
|
25
|
-
"@contractspec/tool.typescript": "1.
|
|
26
|
-
"@contractspec/tool.tsdown": "1.
|
|
24
|
+
"@contractspec/tool.typescript": "1.47.0",
|
|
25
|
+
"@contractspec/tool.tsdown": "1.47.0",
|
|
27
26
|
"typescript": "^5.9.3"
|
|
28
27
|
},
|
|
29
28
|
"exports": {
|
|
@@ -38,6 +37,7 @@
|
|
|
38
37
|
"./example": "./dist/example.js",
|
|
39
38
|
"./handlers": "./dist/handlers/index.js",
|
|
40
39
|
"./presentations": "./dist/presentations/index.js",
|
|
40
|
+
"./presentations/team-hub.presentation": "./dist/presentations/team-hub.presentation.js",
|
|
41
41
|
"./ritual": "./dist/ritual/index.js",
|
|
42
42
|
"./ritual/ritual.operations": "./dist/ritual/ritual.operations.js",
|
|
43
43
|
"./ritual/ritual.schema": "./dist/ritual/ritual.schema.js",
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
"./task": "./dist/task/index.js",
|
|
48
48
|
"./task/task.operations": "./dist/task/task.operations.js",
|
|
49
49
|
"./task/task.schema": "./dist/task/task.schema.js",
|
|
50
|
+
"./team-hub.capability": "./dist/team-hub.capability.js",
|
|
50
51
|
"./team-hub.feature": "./dist/team-hub.feature.js",
|
|
51
52
|
"./*": "./*"
|
|
52
53
|
},
|
|
53
|
-
"module": "./dist/index.js",
|
|
54
54
|
"files": [
|
|
55
55
|
"dist",
|
|
56
56
|
"README.md"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/presentations/index.ts"],"sourcesContent":[],"mappings":";cAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/presentations/index.ts"],"sourcesContent":["export const TeamHubPresentations = [\n 'team-hub.dashboard',\n 'team-hub.space.list',\n 'team-hub.task.board',\n 'team-hub.task.detail',\n 'team-hub.ritual.calendar',\n 'team-hub.announcement.feed',\n];\n"],"mappings":";AAAA,MAAa,uBAAuB;CAClC;CACA;CACA;CACA;CACA;CACA;CACD"}
|