@contractspec/example.team-hub 1.44.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.
Files changed (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/announcement/announcement.operations.d.ts +61 -0
  4. package/dist/announcement/announcement.operations.d.ts.map +1 -0
  5. package/dist/announcement/announcement.operations.js +53 -0
  6. package/dist/announcement/announcement.operations.js.map +1 -0
  7. package/dist/announcement/announcement.schema.d.ts +64 -0
  8. package/dist/announcement/announcement.schema.d.ts.map +1 -0
  9. package/dist/announcement/announcement.schema.js +73 -0
  10. package/dist/announcement/announcement.schema.js.map +1 -0
  11. package/dist/announcement/index.d.ts +3 -0
  12. package/dist/announcement/index.js +4 -0
  13. package/dist/docs/index.d.ts +1 -0
  14. package/dist/docs/index.js +1 -0
  15. package/dist/docs/team-hub.docblock.d.ts +1 -0
  16. package/dist/docs/team-hub.docblock.js +106 -0
  17. package/dist/docs/team-hub.docblock.js.map +1 -0
  18. package/dist/entities/index.d.ts +150 -0
  19. package/dist/entities/index.d.ts.map +1 -0
  20. package/dist/entities/index.js +263 -0
  21. package/dist/entities/index.js.map +1 -0
  22. package/dist/events.d.ts +289 -0
  23. package/dist/events.d.ts.map +1 -0
  24. package/dist/events.js +214 -0
  25. package/dist/events.js.map +1 -0
  26. package/dist/example.d.ts +40 -0
  27. package/dist/example.d.ts.map +1 -0
  28. package/dist/example.js +51 -0
  29. package/dist/example.js.map +1 -0
  30. package/dist/handlers/index.d.ts +8 -0
  31. package/dist/handlers/index.d.ts.map +1 -0
  32. package/dist/handlers/index.js +9 -0
  33. package/dist/handlers/index.js.map +1 -0
  34. package/dist/index.d.ts +15 -0
  35. package/dist/index.js +16 -0
  36. package/dist/presentations/index.d.ts +5 -0
  37. package/dist/presentations/index.d.ts.map +1 -0
  38. package/dist/presentations/index.js +13 -0
  39. package/dist/presentations/index.js.map +1 -0
  40. package/dist/presentations.d.ts +12 -0
  41. package/dist/presentations.d.ts.map +1 -0
  42. package/dist/presentations.js +154 -0
  43. package/dist/presentations.js.map +1 -0
  44. package/dist/ritual/index.d.ts +3 -0
  45. package/dist/ritual/index.js +4 -0
  46. package/dist/ritual/ritual.operations.d.ts +107 -0
  47. package/dist/ritual/ritual.operations.d.ts.map +1 -0
  48. package/dist/ritual/ritual.operations.js +98 -0
  49. package/dist/ritual/ritual.operations.js.map +1 -0
  50. package/dist/ritual/ritual.schema.d.ts +85 -0
  51. package/dist/ritual/ritual.schema.d.ts.map +1 -0
  52. package/dist/ritual/ritual.schema.js +98 -0
  53. package/dist/ritual/ritual.schema.js.map +1 -0
  54. package/dist/space/index.d.ts +3 -0
  55. package/dist/space/index.js +4 -0
  56. package/dist/space/space.operations.d.ts +49 -0
  57. package/dist/space/space.operations.d.ts.map +1 -0
  58. package/dist/space/space.operations.js +52 -0
  59. package/dist/space/space.operations.js.map +1 -0
  60. package/dist/space/space.schema.d.ts +52 -0
  61. package/dist/space/space.schema.d.ts.map +1 -0
  62. package/dist/space/space.schema.js +61 -0
  63. package/dist/space/space.schema.js.map +1 -0
  64. package/dist/task/index.d.ts +3 -0
  65. package/dist/task/index.js +4 -0
  66. package/dist/task/task.operations.d.ts +230 -0
  67. package/dist/task/task.operations.d.ts.map +1 -0
  68. package/dist/task/task.operations.js +180 -0
  69. package/dist/task/task.operations.js.map +1 -0
  70. package/dist/task/task.schema.d.ts +81 -0
  71. package/dist/task/task.schema.d.ts.map +1 -0
  72. package/dist/task/task.schema.js +94 -0
  73. package/dist/task/task.schema.js.map +1 -0
  74. package/dist/team-hub.feature.d.ts +7 -0
  75. package/dist/team-hub.feature.d.ts.map +1 -0
  76. package/dist/team-hub.feature.js +159 -0
  77. package/dist/team-hub.feature.js.map +1 -0
  78. package/package.json +99 -0
@@ -0,0 +1,107 @@
1
+ import * as _contractspec_lib_schema257 from "@contractspec/lib.schema";
2
+ import * as _contractspec_lib_contracts12 from "@contractspec/lib.contracts";
3
+
4
+ //#region src/ritual/ritual.operations.d.ts
5
+ /**
6
+ * Schedule a ritual.
7
+ */
8
+ declare const ScheduleRitualContract: _contractspec_lib_contracts12.OperationSpec<_contractspec_lib_schema257.SchemaModel<{
9
+ spaceId: {
10
+ type: _contractspec_lib_schema257.FieldType<string, string>;
11
+ isOptional: false;
12
+ };
13
+ title: {
14
+ type: _contractspec_lib_schema257.FieldType<string, string>;
15
+ isOptional: false;
16
+ };
17
+ cadence: {
18
+ type: _contractspec_lib_schema257.FieldType<string, string>;
19
+ isOptional: false;
20
+ };
21
+ dayOfWeek: {
22
+ type: _contractspec_lib_schema257.FieldType<string, string>;
23
+ isOptional: true;
24
+ };
25
+ time: {
26
+ type: _contractspec_lib_schema257.FieldType<string, string>;
27
+ isOptional: true;
28
+ };
29
+ facilitatorId: {
30
+ type: _contractspec_lib_schema257.FieldType<string, string>;
31
+ isOptional: true;
32
+ };
33
+ }>, _contractspec_lib_schema257.SchemaModel<{
34
+ id: {
35
+ type: _contractspec_lib_schema257.FieldType<string, string>;
36
+ isOptional: false;
37
+ };
38
+ spaceId: {
39
+ type: _contractspec_lib_schema257.FieldType<string, string>;
40
+ isOptional: false;
41
+ };
42
+ title: {
43
+ type: _contractspec_lib_schema257.FieldType<string, string>;
44
+ isOptional: false;
45
+ };
46
+ cadence: {
47
+ type: _contractspec_lib_schema257.FieldType<string, string>;
48
+ isOptional: false;
49
+ };
50
+ dayOfWeek: {
51
+ type: _contractspec_lib_schema257.FieldType<string, string>;
52
+ isOptional: true;
53
+ };
54
+ time: {
55
+ type: _contractspec_lib_schema257.FieldType<string, string>;
56
+ isOptional: true;
57
+ };
58
+ }>, undefined>;
59
+ /**
60
+ * Log ritual occurrence.
61
+ */
62
+ declare const LogRitualOccurrenceContract: _contractspec_lib_contracts12.OperationSpec<_contractspec_lib_schema257.SchemaModel<{
63
+ ritualId: {
64
+ type: _contractspec_lib_schema257.FieldType<string, string>;
65
+ isOptional: false;
66
+ };
67
+ scheduledFor: {
68
+ type: _contractspec_lib_schema257.FieldType<Date, string>;
69
+ isOptional: false;
70
+ };
71
+ status: {
72
+ type: _contractspec_lib_schema257.FieldType<string, string>;
73
+ isOptional: false;
74
+ };
75
+ summary: {
76
+ type: _contractspec_lib_schema257.FieldType<string, string>;
77
+ isOptional: true;
78
+ };
79
+ }>, _contractspec_lib_schema257.SchemaModel<{
80
+ id: {
81
+ type: _contractspec_lib_schema257.FieldType<string, string>;
82
+ isOptional: false;
83
+ };
84
+ spaceId: {
85
+ type: _contractspec_lib_schema257.FieldType<string, string>;
86
+ isOptional: false;
87
+ };
88
+ title: {
89
+ type: _contractspec_lib_schema257.FieldType<string, string>;
90
+ isOptional: false;
91
+ };
92
+ cadence: {
93
+ type: _contractspec_lib_schema257.FieldType<string, string>;
94
+ isOptional: false;
95
+ };
96
+ dayOfWeek: {
97
+ type: _contractspec_lib_schema257.FieldType<string, string>;
98
+ isOptional: true;
99
+ };
100
+ time: {
101
+ type: _contractspec_lib_schema257.FieldType<string, string>;
102
+ isOptional: true;
103
+ };
104
+ }>, undefined>;
105
+ //#endregion
106
+ export { LogRitualOccurrenceContract, ScheduleRitualContract };
107
+ //# sourceMappingURL=ritual.operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ritual.operations.d.ts","names":[],"sources":["../../src/ritual/ritual.operations.ts"],"sourcesContent":[],"mappings":";;;;;;;cAYa,sDAAsB,0CAAA;EAAtB,OAAA,EAAA;IAsCX,IAAA,EAAA,2BAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;EAtCiC,OAAA,EAAA;;;;;;;;EAAA,IAAA,EAAA;IA2CtB,IAAA,uCAqCX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;CArCsC,CAAA,yCAAA,CAAA;;UA3CL,2BAAA,CAAA;;;;;;EA2CK,CAAA;;;;;;;;;;;;;;;;;;;;;cAA3B,2DAA2B,0CAAA;;UAqCtC,2BAAA,CAAA;;;;;;;;;;;;;;;;;UArCsC,2BAAA,CAAA"}
@@ -0,0 +1,98 @@
1
+ import { LogRitualOccurrenceInputModel, RitualModel, ScheduleRitualInputModel } from "./ritual.schema.js";
2
+ import { defineCommand } from "@contractspec/lib.contracts";
3
+
4
+ //#region src/ritual/ritual.operations.ts
5
+ const OWNERS = ["@examples.team-hub"];
6
+ /**
7
+ * Schedule a ritual.
8
+ */
9
+ const ScheduleRitualContract = defineCommand({
10
+ meta: {
11
+ key: "team.ritual.schedule",
12
+ version: 1,
13
+ stability: "stable",
14
+ owners: [...OWNERS],
15
+ tags: [
16
+ "team-hub",
17
+ "ritual",
18
+ "schedule"
19
+ ],
20
+ description: "Schedule a recurring ritual.",
21
+ goal: "Team ceremonies.",
22
+ context: "Ritual management."
23
+ },
24
+ io: {
25
+ input: ScheduleRitualInputModel,
26
+ output: RitualModel
27
+ },
28
+ policy: { auth: "user" },
29
+ acceptance: {
30
+ scenarios: [{
31
+ key: "schedule-ritual-happy-path",
32
+ given: ["Space exists"],
33
+ when: ["User schedules ritual"],
34
+ then: ["Ritual is scheduled"]
35
+ }],
36
+ examples: [{
37
+ key: "schedule-standup",
38
+ input: {
39
+ spaceId: "space-123",
40
+ name: "Daily Standup",
41
+ interval: "daily",
42
+ time: "10:00"
43
+ },
44
+ output: {
45
+ id: "rit-123",
46
+ status: "active"
47
+ }
48
+ }]
49
+ }
50
+ });
51
+ /**
52
+ * Log ritual occurrence.
53
+ */
54
+ const LogRitualOccurrenceContract = defineCommand({
55
+ meta: {
56
+ key: "team.ritual.logOccurrence",
57
+ version: 1,
58
+ stability: "stable",
59
+ owners: [...OWNERS],
60
+ tags: [
61
+ "team-hub",
62
+ "ritual",
63
+ "log"
64
+ ],
65
+ description: "Log a ritual occurrence.",
66
+ goal: "Record ritual history.",
67
+ context: "Ritual management."
68
+ },
69
+ io: {
70
+ input: LogRitualOccurrenceInputModel,
71
+ output: RitualModel
72
+ },
73
+ policy: { auth: "user" },
74
+ acceptance: {
75
+ scenarios: [{
76
+ key: "log-occurrence-happy-path",
77
+ given: ["Ritual is scheduled"],
78
+ when: ["User logs occurrence"],
79
+ then: ["Occurrence is recorded"]
80
+ }],
81
+ examples: [{
82
+ key: "log-standup",
83
+ input: {
84
+ ritualId: "rit-123",
85
+ date: "2025-01-20",
86
+ attendees: ["user-1", "user-2"]
87
+ },
88
+ output: {
89
+ id: "rit-123",
90
+ lastOccurrence: "2025-01-20"
91
+ }
92
+ }]
93
+ }
94
+ });
95
+
96
+ //#endregion
97
+ export { LogRitualOccurrenceContract, ScheduleRitualContract };
98
+ //# sourceMappingURL=ritual.operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ritual.operations.js","names":[],"sources":["../../src/ritual/ritual.operations.ts"],"sourcesContent":["import { defineCommand } from '@contractspec/lib.contracts';\nimport {\n LogRitualOccurrenceInputModel,\n RitualModel,\n ScheduleRitualInputModel,\n} from './ritual.schema';\n\nconst OWNERS = ['@examples.team-hub'] as const;\n\n/**\n * Schedule a ritual.\n */\nexport const ScheduleRitualContract = defineCommand({\n meta: {\n key: 'team.ritual.schedule',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['team-hub', 'ritual', 'schedule'],\n description: 'Schedule a recurring ritual.',\n goal: 'Team ceremonies.',\n context: 'Ritual management.',\n },\n io: {\n input: ScheduleRitualInputModel,\n output: RitualModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'schedule-ritual-happy-path',\n given: ['Space exists'],\n when: ['User schedules ritual'],\n then: ['Ritual is scheduled'],\n },\n ],\n examples: [\n {\n key: 'schedule-standup',\n input: {\n spaceId: 'space-123',\n name: 'Daily Standup',\n interval: 'daily',\n time: '10:00',\n },\n output: { id: 'rit-123', status: 'active' },\n },\n ],\n },\n});\n\n/**\n * Log ritual occurrence.\n */\nexport const LogRitualOccurrenceContract = defineCommand({\n meta: {\n key: 'team.ritual.logOccurrence',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['team-hub', 'ritual', 'log'],\n description: 'Log a ritual occurrence.',\n goal: 'Record ritual history.',\n context: 'Ritual management.',\n },\n io: {\n input: LogRitualOccurrenceInputModel,\n output: RitualModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'log-occurrence-happy-path',\n given: ['Ritual is scheduled'],\n when: ['User logs occurrence'],\n then: ['Occurrence is recorded'],\n },\n ],\n examples: [\n {\n key: 'log-standup',\n input: {\n ritualId: 'rit-123',\n date: '2025-01-20',\n attendees: ['user-1', 'user-2'],\n },\n output: { id: 'rit-123', lastOccurrence: '2025-01-20' },\n },\n ],\n },\n});\n"],"mappings":";;;;AAOA,MAAM,SAAS,CAAC,qBAAqB;;;;AAKrC,MAAa,yBAAyB,cAAc;CAClD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAY;GAAU;GAAW;EACxC,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EACF,OAAO;EACP,QAAQ;EACT;CACD,QAAQ,EAAE,MAAM,QAAQ;CACxB,YAAY;EACV,WAAW,CACT;GACE,KAAK;GACL,OAAO,CAAC,eAAe;GACvB,MAAM,CAAC,wBAAwB;GAC/B,MAAM,CAAC,sBAAsB;GAC9B,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IACL,SAAS;IACT,MAAM;IACN,UAAU;IACV,MAAM;IACP;GACD,QAAQ;IAAE,IAAI;IAAW,QAAQ;IAAU;GAC5C,CACF;EACF;CACF,CAAC;;;;AAKF,MAAa,8BAA8B,cAAc;CACvD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAY;GAAU;GAAM;EACnC,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EACF,OAAO;EACP,QAAQ;EACT;CACD,QAAQ,EAAE,MAAM,QAAQ;CACxB,YAAY;EACV,WAAW,CACT;GACE,KAAK;GACL,OAAO,CAAC,sBAAsB;GAC9B,MAAM,CAAC,uBAAuB;GAC9B,MAAM,CAAC,yBAAyB;GACjC,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IACL,UAAU;IACV,MAAM;IACN,WAAW,CAAC,UAAU,SAAS;IAChC;GACD,QAAQ;IAAE,IAAI;IAAW,gBAAgB;IAAc;GACxD,CACF;EACF;CACF,CAAC"}
@@ -0,0 +1,85 @@
1
+ import * as _contractspec_lib_schema283 from "@contractspec/lib.schema";
2
+
3
+ //#region src/ritual/ritual.schema.d.ts
4
+ /**
5
+ * Recurring ritual.
6
+ */
7
+ declare const RitualModel: _contractspec_lib_schema283.SchemaModel<{
8
+ id: {
9
+ type: _contractspec_lib_schema283.FieldType<string, string>;
10
+ isOptional: false;
11
+ };
12
+ spaceId: {
13
+ type: _contractspec_lib_schema283.FieldType<string, string>;
14
+ isOptional: false;
15
+ };
16
+ title: {
17
+ type: _contractspec_lib_schema283.FieldType<string, string>;
18
+ isOptional: false;
19
+ };
20
+ cadence: {
21
+ type: _contractspec_lib_schema283.FieldType<string, string>;
22
+ isOptional: false;
23
+ };
24
+ dayOfWeek: {
25
+ type: _contractspec_lib_schema283.FieldType<string, string>;
26
+ isOptional: true;
27
+ };
28
+ time: {
29
+ type: _contractspec_lib_schema283.FieldType<string, string>;
30
+ isOptional: true;
31
+ };
32
+ }>;
33
+ /**
34
+ * Input for scheduling a ritual.
35
+ */
36
+ declare const ScheduleRitualInputModel: _contractspec_lib_schema283.SchemaModel<{
37
+ spaceId: {
38
+ type: _contractspec_lib_schema283.FieldType<string, string>;
39
+ isOptional: false;
40
+ };
41
+ title: {
42
+ type: _contractspec_lib_schema283.FieldType<string, string>;
43
+ isOptional: false;
44
+ };
45
+ cadence: {
46
+ type: _contractspec_lib_schema283.FieldType<string, string>;
47
+ isOptional: false;
48
+ };
49
+ dayOfWeek: {
50
+ type: _contractspec_lib_schema283.FieldType<string, string>;
51
+ isOptional: true;
52
+ };
53
+ time: {
54
+ type: _contractspec_lib_schema283.FieldType<string, string>;
55
+ isOptional: true;
56
+ };
57
+ facilitatorId: {
58
+ type: _contractspec_lib_schema283.FieldType<string, string>;
59
+ isOptional: true;
60
+ };
61
+ }>;
62
+ /**
63
+ * Input for logging ritual occurrence.
64
+ */
65
+ declare const LogRitualOccurrenceInputModel: _contractspec_lib_schema283.SchemaModel<{
66
+ ritualId: {
67
+ type: _contractspec_lib_schema283.FieldType<string, string>;
68
+ isOptional: false;
69
+ };
70
+ scheduledFor: {
71
+ type: _contractspec_lib_schema283.FieldType<Date, string>;
72
+ isOptional: false;
73
+ };
74
+ status: {
75
+ type: _contractspec_lib_schema283.FieldType<string, string>;
76
+ isOptional: false;
77
+ };
78
+ summary: {
79
+ type: _contractspec_lib_schema283.FieldType<string, string>;
80
+ isOptional: true;
81
+ };
82
+ }>;
83
+ //#endregion
84
+ export { LogRitualOccurrenceInputModel, RitualModel, ScheduleRitualInputModel };
85
+ //# sourceMappingURL=ritual.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ritual.schema.d.ts","names":[],"sources":["../../src/ritual/ritual.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,WAWX,8BAXsB,WAWtB,CAAA;EAAA,EAAA,EAAA;UAAA,2BAAA,CAAA;;;;;;EAXsB,CAAA;EAgBX,KAAA,EAAA;IAWX,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;EAXmC,SAAA,EAAA;IAgBxB,IAAA,uCASX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;CATwC,CAAA;;;;cAhB7B,sDAAwB;;UAWnC,2BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKW,2DAA6B;;UASxC,2BAAA,CAAA"}
@@ -0,0 +1,98 @@
1
+ import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
2
+
3
+ //#region src/ritual/ritual.schema.ts
4
+ /**
5
+ * Recurring ritual.
6
+ */
7
+ const RitualModel = defineSchemaModel({
8
+ name: "Ritual",
9
+ description: "Recurring ritual",
10
+ fields: {
11
+ id: {
12
+ type: ScalarTypeEnum.String_unsecure(),
13
+ isOptional: false
14
+ },
15
+ spaceId: {
16
+ type: ScalarTypeEnum.String_unsecure(),
17
+ isOptional: false
18
+ },
19
+ title: {
20
+ type: ScalarTypeEnum.String_unsecure(),
21
+ isOptional: false
22
+ },
23
+ cadence: {
24
+ type: ScalarTypeEnum.String_unsecure(),
25
+ isOptional: false
26
+ },
27
+ dayOfWeek: {
28
+ type: ScalarTypeEnum.String_unsecure(),
29
+ isOptional: true
30
+ },
31
+ time: {
32
+ type: ScalarTypeEnum.String_unsecure(),
33
+ isOptional: true
34
+ }
35
+ }
36
+ });
37
+ /**
38
+ * Input for scheduling a ritual.
39
+ */
40
+ const ScheduleRitualInputModel = defineSchemaModel({
41
+ name: "ScheduleRitualInput",
42
+ description: "Create a ritual",
43
+ fields: {
44
+ spaceId: {
45
+ type: ScalarTypeEnum.String_unsecure(),
46
+ isOptional: false
47
+ },
48
+ title: {
49
+ type: ScalarTypeEnum.String_unsecure(),
50
+ isOptional: false
51
+ },
52
+ cadence: {
53
+ type: ScalarTypeEnum.String_unsecure(),
54
+ isOptional: false
55
+ },
56
+ dayOfWeek: {
57
+ type: ScalarTypeEnum.String_unsecure(),
58
+ isOptional: true
59
+ },
60
+ time: {
61
+ type: ScalarTypeEnum.String_unsecure(),
62
+ isOptional: true
63
+ },
64
+ facilitatorId: {
65
+ type: ScalarTypeEnum.String_unsecure(),
66
+ isOptional: true
67
+ }
68
+ }
69
+ });
70
+ /**
71
+ * Input for logging ritual occurrence.
72
+ */
73
+ const LogRitualOccurrenceInputModel = defineSchemaModel({
74
+ name: "LogRitualOccurrenceInput",
75
+ description: "Record ritual occurrence results",
76
+ fields: {
77
+ ritualId: {
78
+ type: ScalarTypeEnum.String_unsecure(),
79
+ isOptional: false
80
+ },
81
+ scheduledFor: {
82
+ type: ScalarTypeEnum.DateTime(),
83
+ isOptional: false
84
+ },
85
+ status: {
86
+ type: ScalarTypeEnum.String_unsecure(),
87
+ isOptional: false
88
+ },
89
+ summary: {
90
+ type: ScalarTypeEnum.String_unsecure(),
91
+ isOptional: true
92
+ }
93
+ }
94
+ });
95
+
96
+ //#endregion
97
+ export { LogRitualOccurrenceInputModel, RitualModel, ScheduleRitualInputModel };
98
+ //# sourceMappingURL=ritual.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ritual.schema.js","names":[],"sources":["../../src/ritual/ritual.schema.ts"],"sourcesContent":["import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';\n\n/**\n * Recurring ritual.\n */\nexport const RitualModel = defineSchemaModel({\n name: 'Ritual',\n description: 'Recurring ritual',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n title: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n cadence: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n dayOfWeek: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n time: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\n/**\n * Input for scheduling a ritual.\n */\nexport const ScheduleRitualInputModel = defineSchemaModel({\n name: 'ScheduleRitualInput',\n description: 'Create a ritual',\n fields: {\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n title: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n cadence: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n dayOfWeek: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n time: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n facilitatorId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\n/**\n * Input for logging ritual occurrence.\n */\nexport const LogRitualOccurrenceInputModel = defineSchemaModel({\n name: 'LogRitualOccurrenceInput',\n description: 'Record ritual occurrence results',\n fields: {\n ritualId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n scheduledFor: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n summary: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n"],"mappings":";;;;;;AAKA,MAAa,cAAc,kBAAkB;CAC3C,MAAM;CACN,aAAa;CACb,QAAQ;EACN,IAAI;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACjE,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACtE,OAAO;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACtE,WAAW;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACvE,MAAM;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACnE;CACF,CAAC;;;;AAKF,MAAa,2BAA2B,kBAAkB;CACxD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACtE,OAAO;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACtE,WAAW;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACvE,MAAM;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EAClE,eAAe;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EAC5E;CACF,CAAC;;;;AAKF,MAAa,gCAAgC,kBAAkB;CAC7D,MAAM;CACN,aAAa;CACb,QAAQ;EACN,UAAU;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE,cAAc;GAAE,MAAM,eAAe,UAAU;GAAE,YAAY;GAAO;EACpE,QAAQ;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACrE,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACtE;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CreateSpaceInputModel, SpaceModel } from "./space.schema.js";
2
+ import { CreateSpaceContract } from "./space.operations.js";
3
+ export { CreateSpaceContract, CreateSpaceInputModel, SpaceModel };
@@ -0,0 +1,4 @@
1
+ import { CreateSpaceInputModel, SpaceModel } from "./space.schema.js";
2
+ import { CreateSpaceContract } from "./space.operations.js";
3
+
4
+ export { CreateSpaceContract, CreateSpaceInputModel, SpaceModel };
@@ -0,0 +1,49 @@
1
+ import * as _contractspec_lib_schema302 from "@contractspec/lib.schema";
2
+ import * as _contractspec_lib_contracts14 from "@contractspec/lib.contracts";
3
+
4
+ //#region src/space/space.operations.d.ts
5
+ /**
6
+ * Create a new team space.
7
+ */
8
+ declare const CreateSpaceContract: _contractspec_lib_contracts14.OperationSpec<_contractspec_lib_schema302.SchemaModel<{
9
+ name: {
10
+ type: _contractspec_lib_schema302.FieldType<string, string>;
11
+ isOptional: false;
12
+ };
13
+ description: {
14
+ type: _contractspec_lib_schema302.FieldType<string, string>;
15
+ isOptional: true;
16
+ };
17
+ orgId: {
18
+ type: _contractspec_lib_schema302.FieldType<string, string>;
19
+ isOptional: false;
20
+ };
21
+ ownerId: {
22
+ type: _contractspec_lib_schema302.FieldType<string, string>;
23
+ isOptional: false;
24
+ };
25
+ }>, _contractspec_lib_schema302.SchemaModel<{
26
+ id: {
27
+ type: _contractspec_lib_schema302.FieldType<string, string>;
28
+ isOptional: false;
29
+ };
30
+ name: {
31
+ type: _contractspec_lib_schema302.FieldType<string, string>;
32
+ isOptional: false;
33
+ };
34
+ description: {
35
+ type: _contractspec_lib_schema302.FieldType<string, string>;
36
+ isOptional: true;
37
+ };
38
+ orgId: {
39
+ type: _contractspec_lib_schema302.FieldType<string, string>;
40
+ isOptional: false;
41
+ };
42
+ ownerId: {
43
+ type: _contractspec_lib_schema302.FieldType<string, string>;
44
+ isOptional: false;
45
+ };
46
+ }>, undefined>;
47
+ //#endregion
48
+ export { CreateSpaceContract };
49
+ //# sourceMappingURL=space.operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.operations.d.ts","names":[],"sources":["../../src/space/space.operations.ts"],"sourcesContent":[],"mappings":";;;;;;;cAQa,mDAAmB,0CAAA;EAAnB,IAAA,EAAA;IAiCX,IAAA,EAAA,2BAAA,CAAA,SAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;+CAjC8B,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;IAAA,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;UAAA,2BAAA,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { CreateSpaceInputModel, SpaceModel } from "./space.schema.js";
2
+ import { defineCommand } from "@contractspec/lib.contracts";
3
+
4
+ //#region src/space/space.operations.ts
5
+ const OWNERS = ["@examples.team-hub"];
6
+ /**
7
+ * Create a new team space.
8
+ */
9
+ const CreateSpaceContract = defineCommand({
10
+ meta: {
11
+ key: "team.space.create",
12
+ version: 1,
13
+ stability: "stable",
14
+ owners: [...OWNERS],
15
+ tags: [
16
+ "team-hub",
17
+ "space",
18
+ "create"
19
+ ],
20
+ description: "Create a new team space.",
21
+ goal: "Organize teams/projects.",
22
+ context: "Workspace creation."
23
+ },
24
+ io: {
25
+ input: CreateSpaceInputModel,
26
+ output: SpaceModel
27
+ },
28
+ policy: { auth: "user" },
29
+ acceptance: {
30
+ scenarios: [{
31
+ key: "create-space-happy-path",
32
+ given: ["User is authenticated"],
33
+ when: ["User creates a new space"],
34
+ then: ["Space is created"]
35
+ }],
36
+ examples: [{
37
+ key: "create-engineering",
38
+ input: {
39
+ name: "Engineering",
40
+ description: "Engineering team space"
41
+ },
42
+ output: {
43
+ id: "space-123",
44
+ name: "Engineering"
45
+ }
46
+ }]
47
+ }
48
+ });
49
+
50
+ //#endregion
51
+ export { CreateSpaceContract };
52
+ //# sourceMappingURL=space.operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.operations.js","names":[],"sources":["../../src/space/space.operations.ts"],"sourcesContent":["import { defineCommand } from '@contractspec/lib.contracts';\nimport { CreateSpaceInputModel, SpaceModel } from './space.schema';\n\nconst OWNERS = ['@examples.team-hub'] as const;\n\n/**\n * Create a new team space.\n */\nexport const CreateSpaceContract = defineCommand({\n meta: {\n key: 'team.space.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['team-hub', 'space', 'create'],\n description: 'Create a new team space.',\n goal: 'Organize teams/projects.',\n context: 'Workspace creation.',\n },\n io: {\n input: CreateSpaceInputModel,\n output: SpaceModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'create-space-happy-path',\n given: ['User is authenticated'],\n when: ['User creates a new space'],\n then: ['Space is created'],\n },\n ],\n examples: [\n {\n key: 'create-engineering',\n input: { name: 'Engineering', description: 'Engineering team space' },\n output: { id: 'space-123', name: 'Engineering' },\n },\n ],\n },\n});\n"],"mappings":";;;;AAGA,MAAM,SAAS,CAAC,qBAAqB;;;;AAKrC,MAAa,sBAAsB,cAAc;CAC/C,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAY;GAAS;GAAS;EACrC,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACD,IAAI;EACF,OAAO;EACP,QAAQ;EACT;CACD,QAAQ,EAAE,MAAM,QAAQ;CACxB,YAAY;EACV,WAAW,CACT;GACE,KAAK;GACL,OAAO,CAAC,wBAAwB;GAChC,MAAM,CAAC,2BAA2B;GAClC,MAAM,CAAC,mBAAmB;GAC3B,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IAAE,MAAM;IAAe,aAAa;IAA0B;GACrE,QAAQ;IAAE,IAAI;IAAa,MAAM;IAAe;GACjD,CACF;EACF;CACF,CAAC"}
@@ -0,0 +1,52 @@
1
+ import * as _contractspec_lib_schema313 from "@contractspec/lib.schema";
2
+
3
+ //#region src/space/space.schema.d.ts
4
+ /**
5
+ * Team space/project.
6
+ */
7
+ declare const SpaceModel: _contractspec_lib_schema313.SchemaModel<{
8
+ id: {
9
+ type: _contractspec_lib_schema313.FieldType<string, string>;
10
+ isOptional: false;
11
+ };
12
+ name: {
13
+ type: _contractspec_lib_schema313.FieldType<string, string>;
14
+ isOptional: false;
15
+ };
16
+ description: {
17
+ type: _contractspec_lib_schema313.FieldType<string, string>;
18
+ isOptional: true;
19
+ };
20
+ orgId: {
21
+ type: _contractspec_lib_schema313.FieldType<string, string>;
22
+ isOptional: false;
23
+ };
24
+ ownerId: {
25
+ type: _contractspec_lib_schema313.FieldType<string, string>;
26
+ isOptional: false;
27
+ };
28
+ }>;
29
+ /**
30
+ * Input for creating a space.
31
+ */
32
+ declare const CreateSpaceInputModel: _contractspec_lib_schema313.SchemaModel<{
33
+ name: {
34
+ type: _contractspec_lib_schema313.FieldType<string, string>;
35
+ isOptional: false;
36
+ };
37
+ description: {
38
+ type: _contractspec_lib_schema313.FieldType<string, string>;
39
+ isOptional: true;
40
+ };
41
+ orgId: {
42
+ type: _contractspec_lib_schema313.FieldType<string, string>;
43
+ isOptional: false;
44
+ };
45
+ ownerId: {
46
+ type: _contractspec_lib_schema313.FieldType<string, string>;
47
+ isOptional: false;
48
+ };
49
+ }>;
50
+ //#endregion
51
+ export { CreateSpaceInputModel, SpaceModel };
52
+ //# sourceMappingURL=space.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.schema.d.ts","names":[],"sources":["../../src/space/space.schema.ts"],"sourcesContent":[],"mappings":";;;;;;AAKa,cAAA,UAUX,8BAVqB,WAUrB,CAAA;EAAA,EAAA,EAAA;UAAA,2BAAA,CAAA;;;;+CAVqB,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAeV,CAAA;EASX,WAAA,EAAA;;;;;IATgC,IAAA,uCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;;;cAArB,mDAAqB;;UAShC,2BAAA,CAAA"}
@@ -0,0 +1,61 @@
1
+ import { ScalarTypeEnum, defineSchemaModel } from "@contractspec/lib.schema";
2
+
3
+ //#region src/space/space.schema.ts
4
+ /**
5
+ * Team space/project.
6
+ */
7
+ const SpaceModel = defineSchemaModel({
8
+ name: "Space",
9
+ description: "Team space/project",
10
+ fields: {
11
+ id: {
12
+ type: ScalarTypeEnum.String_unsecure(),
13
+ isOptional: false
14
+ },
15
+ name: {
16
+ type: ScalarTypeEnum.String_unsecure(),
17
+ isOptional: false
18
+ },
19
+ description: {
20
+ type: ScalarTypeEnum.String_unsecure(),
21
+ isOptional: true
22
+ },
23
+ orgId: {
24
+ type: ScalarTypeEnum.String_unsecure(),
25
+ isOptional: false
26
+ },
27
+ ownerId: {
28
+ type: ScalarTypeEnum.String_unsecure(),
29
+ isOptional: false
30
+ }
31
+ }
32
+ });
33
+ /**
34
+ * Input for creating a space.
35
+ */
36
+ const CreateSpaceInputModel = defineSchemaModel({
37
+ name: "CreateSpaceInput",
38
+ description: "Input for creating a space",
39
+ fields: {
40
+ name: {
41
+ type: ScalarTypeEnum.String_unsecure(),
42
+ isOptional: false
43
+ },
44
+ description: {
45
+ type: ScalarTypeEnum.String_unsecure(),
46
+ isOptional: true
47
+ },
48
+ orgId: {
49
+ type: ScalarTypeEnum.String_unsecure(),
50
+ isOptional: false
51
+ },
52
+ ownerId: {
53
+ type: ScalarTypeEnum.String_unsecure(),
54
+ isOptional: false
55
+ }
56
+ }
57
+ });
58
+
59
+ //#endregion
60
+ export { CreateSpaceInputModel, SpaceModel };
61
+ //# sourceMappingURL=space.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.schema.js","names":[],"sources":["../../src/space/space.schema.ts"],"sourcesContent":["import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';\n\n/**\n * Team space/project.\n */\nexport const SpaceModel = defineSchemaModel({\n name: 'Space',\n description: 'Team space/project',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n ownerId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\n/**\n * Input for creating a space.\n */\nexport const CreateSpaceInputModel = defineSchemaModel({\n name: 'CreateSpaceInput',\n description: 'Input for creating a space',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n ownerId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n"],"mappings":";;;;;;AAKA,MAAa,aAAa,kBAAkB;CAC1C,MAAM;CACN,aAAa;CACb,QAAQ;EACN,IAAI;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACjE,MAAM;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACnE,aAAa;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACzE,OAAO;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE;CACF,CAAC;;;;AAKF,MAAa,wBAAwB,kBAAkB;CACrD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,MAAM;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACnE,aAAa;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACzE,OAAO;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CreateTaskInputModel, TaskModel, UpdateTaskStatusInputModel } from "./task.schema.js";
2
+ import { CreateTaskContract, ListTasksInputModel, ListTasksOperation, ListTasksOutputModel, UpdateTaskStatusContract } from "./task.operations.js";
3
+ export { CreateTaskContract, CreateTaskInputModel, ListTasksInputModel, ListTasksOperation, ListTasksOutputModel, TaskModel, UpdateTaskStatusContract, UpdateTaskStatusInputModel };
@@ -0,0 +1,4 @@
1
+ import { CreateTaskInputModel, TaskModel, UpdateTaskStatusInputModel } from "./task.schema.js";
2
+ import { CreateTaskContract, ListTasksInputModel, ListTasksOperation, ListTasksOutputModel, UpdateTaskStatusContract } from "./task.operations.js";
3
+
4
+ export { CreateTaskContract, CreateTaskInputModel, ListTasksInputModel, ListTasksOperation, ListTasksOutputModel, TaskModel, UpdateTaskStatusContract, UpdateTaskStatusInputModel };