@contractspec/example.team-hub 1.57.0 → 1.59.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 +50 -56
- package/dist/announcement/announcement.operations.d.ts.map +1 -1
- package/dist/announcement/announcement.operations.js +70 -51
- package/dist/announcement/announcement.schema.d.ts +50 -55
- package/dist/announcement/announcement.schema.d.ts.map +1 -1
- package/dist/announcement/announcement.schema.js +29 -71
- package/dist/announcement/index.d.ts +6 -3
- package/dist/announcement/index.d.ts.map +1 -0
- package/dist/announcement/index.js +73 -3
- package/dist/browser/announcement/announcement.operations.js +71 -0
- package/dist/browser/announcement/announcement.schema.js +30 -0
- package/dist/browser/announcement/index.js +73 -0
- package/dist/browser/docs/index.js +94 -0
- package/dist/browser/docs/team-hub.docblock.js +94 -0
- package/dist/browser/entities/index.js +231 -0
- package/dist/browser/events.js +134 -0
- package/dist/browser/example.js +42 -0
- package/dist/browser/handlers/index.js +5 -0
- package/dist/browser/index.js +642 -0
- package/dist/browser/presentations/index.js +131 -0
- package/dist/browser/presentations/team-hub.presentation.js +131 -0
- package/dist/browser/presentations.js +148 -0
- package/dist/browser/ritual/index.js +124 -0
- package/dist/browser/ritual/ritual.operations.js +121 -0
- package/dist/browser/ritual/ritual.schema.js +41 -0
- package/dist/browser/space/index.js +66 -0
- package/dist/browser/space/space.operations.js +64 -0
- package/dist/browser/space/space.schema.js +27 -0
- package/dist/browser/task/index.js +171 -0
- package/dist/browser/task/task.operations.js +168 -0
- package/dist/browser/task/task.schema.js +40 -0
- package/dist/browser/team-hub.capability.js +40 -0
- package/dist/browser/team-hub.feature.js +69 -0
- package/dist/docs/index.d.ts +2 -1
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +95 -1
- package/dist/docs/team-hub.docblock.d.ts +2 -1
- package/dist/docs/team-hub.docblock.d.ts.map +1 -0
- package/dist/docs/team-hub.docblock.js +45 -56
- package/dist/entities/index.d.ts +138 -143
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +221 -252
- package/dist/events.d.ts +217 -223
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +122 -201
- package/dist/example.d.ts +2 -6
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +41 -55
- package/dist/handlers/index.d.ts +1 -4
- package/dist/handlers/index.d.ts.map +1 -1
- package/dist/handlers/index.js +5 -8
- package/dist/index.d.ts +12 -15
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +642 -15
- package/dist/node/announcement/announcement.operations.js +71 -0
- package/dist/node/announcement/announcement.schema.js +30 -0
- package/dist/node/announcement/index.js +73 -0
- package/dist/node/docs/index.js +94 -0
- package/dist/node/docs/team-hub.docblock.js +94 -0
- package/dist/node/entities/index.js +231 -0
- package/dist/node/events.js +134 -0
- package/dist/node/example.js +42 -0
- package/dist/node/handlers/index.js +5 -0
- package/dist/node/index.js +642 -0
- package/dist/node/presentations/index.js +131 -0
- package/dist/node/presentations/team-hub.presentation.js +131 -0
- package/dist/node/presentations.js +148 -0
- package/dist/node/ritual/index.js +124 -0
- package/dist/node/ritual/ritual.operations.js +121 -0
- package/dist/node/ritual/ritual.schema.js +41 -0
- package/dist/node/space/index.js +66 -0
- package/dist/node/space/space.operations.js +64 -0
- package/dist/node/space/space.schema.js +27 -0
- package/dist/node/task/index.js +171 -0
- package/dist/node/task/task.operations.js +168 -0
- package/dist/node/task/task.schema.js +40 -0
- package/dist/node/team-hub.capability.js +40 -0
- package/dist/node/team-hub.feature.js +69 -0
- package/dist/presentations/index.d.ts +2 -2
- package/dist/presentations/index.d.ts.map +1 -0
- package/dist/presentations/index.js +132 -3
- package/dist/presentations/team-hub.presentation.d.ts +6 -11
- package/dist/presentations/team-hub.presentation.d.ts.map +1 -1
- package/dist/presentations/team-hub.presentation.js +126 -125
- package/dist/presentations.d.ts +7 -11
- package/dist/presentations.d.ts.map +1 -1
- package/dist/presentations.js +142 -147
- package/dist/ritual/index.d.ts +6 -3
- package/dist/ritual/index.d.ts.map +1 -0
- package/dist/ritual/index.js +124 -3
- package/dist/ritual/ritual.operations.d.ts +92 -98
- package/dist/ritual/ritual.operations.d.ts.map +1 -1
- package/dist/ritual/ritual.operations.js +119 -95
- package/dist/ritual/ritual.schema.d.ts +67 -72
- package/dist/ritual/ritual.schema.d.ts.map +1 -1
- package/dist/ritual/ritual.schema.js +39 -95
- package/dist/space/index.d.ts +6 -3
- package/dist/space/index.d.ts.map +1 -0
- package/dist/space/index.js +66 -3
- package/dist/space/space.operations.d.ts +38 -44
- package/dist/space/space.operations.d.ts.map +1 -1
- package/dist/space/space.operations.js +63 -50
- package/dist/space/space.schema.d.ts +38 -43
- package/dist/space/space.schema.d.ts.map +1 -1
- package/dist/space/space.schema.js +26 -59
- package/dist/task/index.d.ts +6 -3
- package/dist/task/index.d.ts.map +1 -0
- package/dist/task/index.js +171 -3
- package/dist/task/task.operations.d.ts +212 -218
- package/dist/task/task.operations.d.ts.map +1 -1
- package/dist/task/task.operations.js +163 -174
- package/dist/task/task.schema.d.ts +63 -68
- package/dist/task/task.schema.d.ts.map +1 -1
- package/dist/task/task.schema.js +38 -91
- package/dist/team-hub.capability.d.ts +3 -8
- package/dist/team-hub.capability.d.ts.map +1 -1
- package/dist/team-hub.capability.js +41 -38
- package/dist/team-hub.feature.d.ts +1 -6
- package/dist/team-hub.feature.d.ts.map +1 -1
- package/dist/team-hub.feature.js +68 -159
- package/package.json +261 -57
- package/dist/announcement/announcement.operations.js.map +0 -1
- package/dist/announcement/announcement.schema.js.map +0 -1
- package/dist/docs/team-hub.docblock.js.map +0 -1
- package/dist/entities/index.js.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/example.js.map +0 -1
- package/dist/handlers/index.js.map +0 -1
- package/dist/presentations/team-hub.presentation.js.map +0 -1
- package/dist/presentations.js.map +0 -1
- package/dist/ritual/ritual.operations.js.map +0 -1
- package/dist/ritual/ritual.schema.js.map +0 -1
- package/dist/space/space.operations.js.map +0 -1
- package/dist/space/space.schema.js.map +0 -1
- package/dist/task/task.operations.js.map +0 -1
- package/dist/task/task.schema.js.map +0 -1
- package/dist/team-hub.capability.js.map +0 -1
- package/dist/team-hub.feature.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,55 +1,64 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contractspec/example.team-hub",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.59.0",
|
|
4
4
|
"description": "Team Hub example with spaces, tasks, rituals, and announcements",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
|
|
9
9
|
"publish:pkg:canary": "bun publish:pkg --tag canary",
|
|
10
|
-
"build": "bun build:
|
|
11
|
-
"build:bundle": "
|
|
12
|
-
"build:types": "
|
|
13
|
-
"dev": "bun
|
|
10
|
+
"build": "bun run prebuild && bun run build:bundle && bun run build:types",
|
|
11
|
+
"build:bundle": "contractspec-bun-build transpile",
|
|
12
|
+
"build:types": "contractspec-bun-build types",
|
|
13
|
+
"dev": "contractspec-bun-build dev",
|
|
14
14
|
"clean": "rimraf dist .turbo",
|
|
15
15
|
"lint": "bun lint:fix",
|
|
16
16
|
"lint:fix": "eslint src --fix",
|
|
17
|
-
"lint:check": "eslint src"
|
|
17
|
+
"lint:check": "eslint src",
|
|
18
|
+
"prebuild": "contractspec-bun-build prebuild",
|
|
19
|
+
"typecheck": "tsc --noEmit"
|
|
18
20
|
},
|
|
19
21
|
"dependencies": {
|
|
20
|
-
"@contractspec/lib.schema": "1.
|
|
21
|
-
"@contractspec/lib.contracts": "1.
|
|
22
|
+
"@contractspec/lib.schema": "1.59.0",
|
|
23
|
+
"@contractspec/lib.contracts": "1.59.0"
|
|
22
24
|
},
|
|
23
25
|
"devDependencies": {
|
|
24
|
-
"@contractspec/tool.typescript": "1.
|
|
25
|
-
"
|
|
26
|
-
"
|
|
26
|
+
"@contractspec/tool.typescript": "1.59.0",
|
|
27
|
+
"typescript": "^5.9.3",
|
|
28
|
+
"@contractspec/tool.bun": "1.58.0"
|
|
27
29
|
},
|
|
28
30
|
"exports": {
|
|
29
|
-
".": "./
|
|
30
|
-
"./announcement": "./
|
|
31
|
-
"./announcement/announcement.operations": "./
|
|
32
|
-
"./announcement/announcement.schema": "./
|
|
33
|
-
"./
|
|
34
|
-
"./docs
|
|
35
|
-
"./
|
|
36
|
-
"./
|
|
37
|
-
"./
|
|
38
|
-
"./
|
|
39
|
-
"./
|
|
40
|
-
"./
|
|
41
|
-
"./
|
|
42
|
-
"./
|
|
43
|
-
"./
|
|
44
|
-
"./
|
|
45
|
-
"./
|
|
46
|
-
"./
|
|
47
|
-
"./
|
|
48
|
-
"./
|
|
49
|
-
"./
|
|
50
|
-
"./
|
|
51
|
-
"./
|
|
52
|
-
"
|
|
31
|
+
".": "./src/index.ts",
|
|
32
|
+
"./announcement": "./src/announcement/index.ts",
|
|
33
|
+
"./announcement/announcement.operations": "./src/announcement/announcement.operations.ts",
|
|
34
|
+
"./announcement/announcement.schema": "./src/announcement/announcement.schema.ts",
|
|
35
|
+
"./announcement/index": "./src/announcement/index.ts",
|
|
36
|
+
"./docs": "./src/docs/index.ts",
|
|
37
|
+
"./docs/index": "./src/docs/index.ts",
|
|
38
|
+
"./docs/team-hub.docblock": "./src/docs/team-hub.docblock.ts",
|
|
39
|
+
"./entities": "./src/entities/index.ts",
|
|
40
|
+
"./entities/index": "./src/entities/index.ts",
|
|
41
|
+
"./events": "./src/events.ts",
|
|
42
|
+
"./example": "./src/example.ts",
|
|
43
|
+
"./handlers": "./src/handlers/index.ts",
|
|
44
|
+
"./handlers/index": "./src/handlers/index.ts",
|
|
45
|
+
"./presentations": "./src/presentations.ts",
|
|
46
|
+
"./presentations/index": "./src/presentations/index.ts",
|
|
47
|
+
"./presentations/team-hub.presentation": "./src/presentations/team-hub.presentation.ts",
|
|
48
|
+
"./ritual": "./src/ritual/index.ts",
|
|
49
|
+
"./ritual/index": "./src/ritual/index.ts",
|
|
50
|
+
"./ritual/ritual.operations": "./src/ritual/ritual.operations.ts",
|
|
51
|
+
"./ritual/ritual.schema": "./src/ritual/ritual.schema.ts",
|
|
52
|
+
"./space": "./src/space/index.ts",
|
|
53
|
+
"./space/index": "./src/space/index.ts",
|
|
54
|
+
"./space/space.operations": "./src/space/space.operations.ts",
|
|
55
|
+
"./space/space.schema": "./src/space/space.schema.ts",
|
|
56
|
+
"./task": "./src/task/index.ts",
|
|
57
|
+
"./task/index": "./src/task/index.ts",
|
|
58
|
+
"./task/task.operations": "./src/task/task.operations.ts",
|
|
59
|
+
"./task/task.schema": "./src/task/task.schema.ts",
|
|
60
|
+
"./team-hub.capability": "./src/team-hub.capability.ts",
|
|
61
|
+
"./team-hub.feature": "./src/team-hub.feature.ts"
|
|
53
62
|
},
|
|
54
63
|
"files": [
|
|
55
64
|
"dist",
|
|
@@ -58,28 +67,223 @@
|
|
|
58
67
|
"publishConfig": {
|
|
59
68
|
"access": "public",
|
|
60
69
|
"exports": {
|
|
61
|
-
".":
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"./
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"./
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
"
|
|
70
|
+
".": {
|
|
71
|
+
"types": "./dist/index.d.ts",
|
|
72
|
+
"bun": "./dist/index.js",
|
|
73
|
+
"node": "./dist/node/index.mjs",
|
|
74
|
+
"browser": "./dist/browser/index.js",
|
|
75
|
+
"default": "./dist/index.js"
|
|
76
|
+
},
|
|
77
|
+
"./announcement": {
|
|
78
|
+
"types": "./dist/announcement/index.d.ts",
|
|
79
|
+
"bun": "./dist/announcement/index.js",
|
|
80
|
+
"node": "./dist/node/announcement/index.mjs",
|
|
81
|
+
"browser": "./dist/browser/announcement/index.js",
|
|
82
|
+
"default": "./dist/announcement/index.js"
|
|
83
|
+
},
|
|
84
|
+
"./announcement/announcement.operations": {
|
|
85
|
+
"types": "./dist/announcement/announcement.operations.d.ts",
|
|
86
|
+
"bun": "./dist/announcement/announcement.operations.js",
|
|
87
|
+
"node": "./dist/node/announcement/announcement.operations.mjs",
|
|
88
|
+
"browser": "./dist/browser/announcement/announcement.operations.js",
|
|
89
|
+
"default": "./dist/announcement/announcement.operations.js"
|
|
90
|
+
},
|
|
91
|
+
"./announcement/announcement.schema": {
|
|
92
|
+
"types": "./dist/announcement/announcement.schema.d.ts",
|
|
93
|
+
"bun": "./dist/announcement/announcement.schema.js",
|
|
94
|
+
"node": "./dist/node/announcement/announcement.schema.mjs",
|
|
95
|
+
"browser": "./dist/browser/announcement/announcement.schema.js",
|
|
96
|
+
"default": "./dist/announcement/announcement.schema.js"
|
|
97
|
+
},
|
|
98
|
+
"./announcement/index": {
|
|
99
|
+
"types": "./dist/announcement/index.d.ts",
|
|
100
|
+
"bun": "./dist/announcement/index.js",
|
|
101
|
+
"node": "./dist/node/announcement/index.mjs",
|
|
102
|
+
"browser": "./dist/browser/announcement/index.js",
|
|
103
|
+
"default": "./dist/announcement/index.js"
|
|
104
|
+
},
|
|
105
|
+
"./docs": {
|
|
106
|
+
"types": "./dist/docs/index.d.ts",
|
|
107
|
+
"bun": "./dist/docs/index.js",
|
|
108
|
+
"node": "./dist/node/docs/index.mjs",
|
|
109
|
+
"browser": "./dist/browser/docs/index.js",
|
|
110
|
+
"default": "./dist/docs/index.js"
|
|
111
|
+
},
|
|
112
|
+
"./docs/index": {
|
|
113
|
+
"types": "./dist/docs/index.d.ts",
|
|
114
|
+
"bun": "./dist/docs/index.js",
|
|
115
|
+
"node": "./dist/node/docs/index.mjs",
|
|
116
|
+
"browser": "./dist/browser/docs/index.js",
|
|
117
|
+
"default": "./dist/docs/index.js"
|
|
118
|
+
},
|
|
119
|
+
"./docs/team-hub.docblock": {
|
|
120
|
+
"types": "./dist/docs/team-hub.docblock.d.ts",
|
|
121
|
+
"bun": "./dist/docs/team-hub.docblock.js",
|
|
122
|
+
"node": "./dist/node/docs/team-hub.docblock.mjs",
|
|
123
|
+
"browser": "./dist/browser/docs/team-hub.docblock.js",
|
|
124
|
+
"default": "./dist/docs/team-hub.docblock.js"
|
|
125
|
+
},
|
|
126
|
+
"./entities": {
|
|
127
|
+
"types": "./dist/entities/index.d.ts",
|
|
128
|
+
"bun": "./dist/entities/index.js",
|
|
129
|
+
"node": "./dist/node/entities/index.mjs",
|
|
130
|
+
"browser": "./dist/browser/entities/index.js",
|
|
131
|
+
"default": "./dist/entities/index.js"
|
|
132
|
+
},
|
|
133
|
+
"./entities/index": {
|
|
134
|
+
"types": "./dist/entities/index.d.ts",
|
|
135
|
+
"bun": "./dist/entities/index.js",
|
|
136
|
+
"node": "./dist/node/entities/index.mjs",
|
|
137
|
+
"browser": "./dist/browser/entities/index.js",
|
|
138
|
+
"default": "./dist/entities/index.js"
|
|
139
|
+
},
|
|
140
|
+
"./events": {
|
|
141
|
+
"types": "./dist/events.d.ts",
|
|
142
|
+
"bun": "./dist/events.js",
|
|
143
|
+
"node": "./dist/node/events.mjs",
|
|
144
|
+
"browser": "./dist/browser/events.js",
|
|
145
|
+
"default": "./dist/events.js"
|
|
146
|
+
},
|
|
147
|
+
"./example": {
|
|
148
|
+
"types": "./dist/example.d.ts",
|
|
149
|
+
"bun": "./dist/example.js",
|
|
150
|
+
"node": "./dist/node/example.mjs",
|
|
151
|
+
"browser": "./dist/browser/example.js",
|
|
152
|
+
"default": "./dist/example.js"
|
|
153
|
+
},
|
|
154
|
+
"./handlers": {
|
|
155
|
+
"types": "./dist/handlers/index.d.ts",
|
|
156
|
+
"bun": "./dist/handlers/index.js",
|
|
157
|
+
"node": "./dist/node/handlers/index.mjs",
|
|
158
|
+
"browser": "./dist/browser/handlers/index.js",
|
|
159
|
+
"default": "./dist/handlers/index.js"
|
|
160
|
+
},
|
|
161
|
+
"./handlers/index": {
|
|
162
|
+
"types": "./dist/handlers/index.d.ts",
|
|
163
|
+
"bun": "./dist/handlers/index.js",
|
|
164
|
+
"node": "./dist/node/handlers/index.mjs",
|
|
165
|
+
"browser": "./dist/browser/handlers/index.js",
|
|
166
|
+
"default": "./dist/handlers/index.js"
|
|
167
|
+
},
|
|
168
|
+
"./presentations": {
|
|
169
|
+
"types": "./dist/presentations.d.ts",
|
|
170
|
+
"bun": "./dist/presentations.js",
|
|
171
|
+
"node": "./dist/node/presentations.mjs",
|
|
172
|
+
"browser": "./dist/browser/presentations.js",
|
|
173
|
+
"default": "./dist/presentations.js"
|
|
174
|
+
},
|
|
175
|
+
"./presentations/index": {
|
|
176
|
+
"types": "./dist/presentations/index.d.ts",
|
|
177
|
+
"bun": "./dist/presentations/index.js",
|
|
178
|
+
"node": "./dist/node/presentations/index.mjs",
|
|
179
|
+
"browser": "./dist/browser/presentations/index.js",
|
|
180
|
+
"default": "./dist/presentations/index.js"
|
|
181
|
+
},
|
|
182
|
+
"./presentations/team-hub.presentation": {
|
|
183
|
+
"types": "./dist/presentations/team-hub.presentation.d.ts",
|
|
184
|
+
"bun": "./dist/presentations/team-hub.presentation.js",
|
|
185
|
+
"node": "./dist/node/presentations/team-hub.presentation.mjs",
|
|
186
|
+
"browser": "./dist/browser/presentations/team-hub.presentation.js",
|
|
187
|
+
"default": "./dist/presentations/team-hub.presentation.js"
|
|
188
|
+
},
|
|
189
|
+
"./ritual": {
|
|
190
|
+
"types": "./dist/ritual/index.d.ts",
|
|
191
|
+
"bun": "./dist/ritual/index.js",
|
|
192
|
+
"node": "./dist/node/ritual/index.mjs",
|
|
193
|
+
"browser": "./dist/browser/ritual/index.js",
|
|
194
|
+
"default": "./dist/ritual/index.js"
|
|
195
|
+
},
|
|
196
|
+
"./ritual/index": {
|
|
197
|
+
"types": "./dist/ritual/index.d.ts",
|
|
198
|
+
"bun": "./dist/ritual/index.js",
|
|
199
|
+
"node": "./dist/node/ritual/index.mjs",
|
|
200
|
+
"browser": "./dist/browser/ritual/index.js",
|
|
201
|
+
"default": "./dist/ritual/index.js"
|
|
202
|
+
},
|
|
203
|
+
"./ritual/ritual.operations": {
|
|
204
|
+
"types": "./dist/ritual/ritual.operations.d.ts",
|
|
205
|
+
"bun": "./dist/ritual/ritual.operations.js",
|
|
206
|
+
"node": "./dist/node/ritual/ritual.operations.mjs",
|
|
207
|
+
"browser": "./dist/browser/ritual/ritual.operations.js",
|
|
208
|
+
"default": "./dist/ritual/ritual.operations.js"
|
|
209
|
+
},
|
|
210
|
+
"./ritual/ritual.schema": {
|
|
211
|
+
"types": "./dist/ritual/ritual.schema.d.ts",
|
|
212
|
+
"bun": "./dist/ritual/ritual.schema.js",
|
|
213
|
+
"node": "./dist/node/ritual/ritual.schema.mjs",
|
|
214
|
+
"browser": "./dist/browser/ritual/ritual.schema.js",
|
|
215
|
+
"default": "./dist/ritual/ritual.schema.js"
|
|
216
|
+
},
|
|
217
|
+
"./space": {
|
|
218
|
+
"types": "./dist/space/index.d.ts",
|
|
219
|
+
"bun": "./dist/space/index.js",
|
|
220
|
+
"node": "./dist/node/space/index.mjs",
|
|
221
|
+
"browser": "./dist/browser/space/index.js",
|
|
222
|
+
"default": "./dist/space/index.js"
|
|
223
|
+
},
|
|
224
|
+
"./space/index": {
|
|
225
|
+
"types": "./dist/space/index.d.ts",
|
|
226
|
+
"bun": "./dist/space/index.js",
|
|
227
|
+
"node": "./dist/node/space/index.mjs",
|
|
228
|
+
"browser": "./dist/browser/space/index.js",
|
|
229
|
+
"default": "./dist/space/index.js"
|
|
230
|
+
},
|
|
231
|
+
"./space/space.operations": {
|
|
232
|
+
"types": "./dist/space/space.operations.d.ts",
|
|
233
|
+
"bun": "./dist/space/space.operations.js",
|
|
234
|
+
"node": "./dist/node/space/space.operations.mjs",
|
|
235
|
+
"browser": "./dist/browser/space/space.operations.js",
|
|
236
|
+
"default": "./dist/space/space.operations.js"
|
|
237
|
+
},
|
|
238
|
+
"./space/space.schema": {
|
|
239
|
+
"types": "./dist/space/space.schema.d.ts",
|
|
240
|
+
"bun": "./dist/space/space.schema.js",
|
|
241
|
+
"node": "./dist/node/space/space.schema.mjs",
|
|
242
|
+
"browser": "./dist/browser/space/space.schema.js",
|
|
243
|
+
"default": "./dist/space/space.schema.js"
|
|
244
|
+
},
|
|
245
|
+
"./task": {
|
|
246
|
+
"types": "./dist/task/index.d.ts",
|
|
247
|
+
"bun": "./dist/task/index.js",
|
|
248
|
+
"node": "./dist/node/task/index.mjs",
|
|
249
|
+
"browser": "./dist/browser/task/index.js",
|
|
250
|
+
"default": "./dist/task/index.js"
|
|
251
|
+
},
|
|
252
|
+
"./task/index": {
|
|
253
|
+
"types": "./dist/task/index.d.ts",
|
|
254
|
+
"bun": "./dist/task/index.js",
|
|
255
|
+
"node": "./dist/node/task/index.mjs",
|
|
256
|
+
"browser": "./dist/browser/task/index.js",
|
|
257
|
+
"default": "./dist/task/index.js"
|
|
258
|
+
},
|
|
259
|
+
"./task/task.operations": {
|
|
260
|
+
"types": "./dist/task/task.operations.d.ts",
|
|
261
|
+
"bun": "./dist/task/task.operations.js",
|
|
262
|
+
"node": "./dist/node/task/task.operations.mjs",
|
|
263
|
+
"browser": "./dist/browser/task/task.operations.js",
|
|
264
|
+
"default": "./dist/task/task.operations.js"
|
|
265
|
+
},
|
|
266
|
+
"./task/task.schema": {
|
|
267
|
+
"types": "./dist/task/task.schema.d.ts",
|
|
268
|
+
"bun": "./dist/task/task.schema.js",
|
|
269
|
+
"node": "./dist/node/task/task.schema.mjs",
|
|
270
|
+
"browser": "./dist/browser/task/task.schema.js",
|
|
271
|
+
"default": "./dist/task/task.schema.js"
|
|
272
|
+
},
|
|
273
|
+
"./team-hub.capability": {
|
|
274
|
+
"types": "./dist/team-hub.capability.d.ts",
|
|
275
|
+
"bun": "./dist/team-hub.capability.js",
|
|
276
|
+
"node": "./dist/node/team-hub.capability.mjs",
|
|
277
|
+
"browser": "./dist/browser/team-hub.capability.js",
|
|
278
|
+
"default": "./dist/team-hub.capability.js"
|
|
279
|
+
},
|
|
280
|
+
"./team-hub.feature": {
|
|
281
|
+
"types": "./dist/team-hub.feature.d.ts",
|
|
282
|
+
"bun": "./dist/team-hub.feature.js",
|
|
283
|
+
"node": "./dist/node/team-hub.feature.mjs",
|
|
284
|
+
"browser": "./dist/browser/team-hub.feature.js",
|
|
285
|
+
"default": "./dist/team-hub.feature.js"
|
|
286
|
+
}
|
|
83
287
|
},
|
|
84
288
|
"registry": "https://registry.npmjs.org/"
|
|
85
289
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"announcement.operations.js","names":[],"sources":["../../src/announcement/announcement.operations.ts"],"sourcesContent":["import { defineCommand } from '@contractspec/lib.contracts';\nimport {\n AnnouncementModel,\n PostAnnouncementInputModel,\n} from './announcement.schema';\n\nconst OWNERS = ['@examples.team-hub'] as const;\n\n/**\n * Post an announcement.\n */\nexport const PostAnnouncementContract = defineCommand({\n meta: {\n key: 'team.announcement.post',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['team-hub', 'announcement', 'post'],\n description: 'Post an announcement.',\n goal: 'Communicate with team.',\n context: 'Communication.',\n },\n io: {\n input: PostAnnouncementInputModel,\n output: AnnouncementModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'post-announcement-happy-path',\n given: ['User is authenticated'],\n when: ['User posts an announcement'],\n then: ['Announcement is posted and distributed'],\n },\n ],\n examples: [\n {\n key: 'post-general',\n input: {\n spaceId: 'space-123',\n title: 'New Policy',\n content: 'Please read...',\n },\n output: { id: 'ann-456', status: 'posted' },\n },\n ],\n },\n});\n"],"mappings":";;;;AAMA,MAAM,SAAS,CAAC,qBAAqB;;;;AAKrC,MAAa,2BAA2B,cAAc;CACpD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAY;GAAgB;GAAO;EAC1C,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,6BAA6B;GACpC,MAAM,CAAC,yCAAyC;GACjD,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IACL,SAAS;IACT,OAAO;IACP,SAAS;IACV;GACD,QAAQ;IAAE,IAAI;IAAW,QAAQ;IAAU;GAC5C,CACF;EACF;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"announcement.schema.js","names":[],"sources":["../../src/announcement/announcement.schema.ts"],"sourcesContent":["import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';\n\n/**\n * Announcement to spaces/org.\n */\nexport const AnnouncementModel = defineSchemaModel({\n name: 'Announcement',\n description: 'Announcement to spaces/org',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n title: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n body: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n audience: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n audienceRole: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\n/**\n * Input for posting an announcement.\n */\nexport const PostAnnouncementInputModel = defineSchemaModel({\n name: 'PostAnnouncementInput',\n description: 'Post an announcement',\n fields: {\n title: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n body: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n audience: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n audienceRole: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n expiresAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n"],"mappings":";;;;;;AAKA,MAAa,oBAAoB,kBAAkB;CACjD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,IAAI;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACjE,OAAO;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,MAAM;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACnE,UAAU;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE,cAAc;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EAC1E,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACtE;CACF,CAAC;;;;AAKF,MAAa,6BAA6B,kBAAkB;CAC1D,MAAM;CACN,aAAa;CACb,QAAQ;EACN,OAAO;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,MAAM;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACnE,UAAU;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE,cAAc;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EAC1E,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACrE,WAAW;GAAE,MAAM,eAAe,UAAU;GAAE,YAAY;GAAM;EACjE;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"team-hub.docblock.js","names":[],"sources":["../../src/docs/team-hub.docblock.ts"],"sourcesContent":["import type { DocBlock } from '@contractspec/lib.contracts/docs';\nimport { registerDocBlocks } from '@contractspec/lib.contracts/docs';\n\nconst teamHubDocBlocks: DocBlock[] = [\n {\n id: 'docs.examples.team-hub',\n title: 'Team Hub',\n summary:\n 'Internal collaboration hub with spaces, tasks, rituals, and announcements.',\n kind: 'reference',\n visibility: 'public',\n route: '/docs/examples/team-hub',\n tags: ['tasks', 'rituals', 'announcements', 'collaboration'],\n body: `## Domains\n\n- Spaces/projects with members and roles.\n- Tasks with status, priority, assignees, due dates.\n- Rituals (standups/retros/planning) with cadence and attendance.\n- Announcements targeted by space or role.\n\n## Modules reused\n- Identity/RBAC for roles and membership\n- Notifications for reminders and announcements\n- Jobs for scheduling rituals/reminders\n- Audit trail for state changes\n\n## Presentations\n- Dashboard, space list, task board/detail, ritual calendar, announcement feed.\n`,\n },\n {\n id: 'docs.examples.team-hub.goal',\n title: 'Team Hub — Goal',\n summary: 'Why this collaboration hub exists and outcomes it targets.',\n kind: 'goal',\n visibility: 'public',\n route: '/docs/examples/team-hub/goal',\n tags: ['collaboration', 'goal'],\n body: `## Why it matters\n- Provides a regenerable hub for spaces, tasks, rituals, and announcements.\n- Keeps ceremonies and task flows consistent across UI/API/events.\n\n## Business/Product goal\n- Support team rituals with reminders, visibility, and auditability.\n- Enable staged rollouts of new rituals/boards via feature flags.\n\n## Success criteria\n- Tasks/rituals/announcements regenerate safely from spec updates.\n- Notifications and audit hooks fire for key transitions.`,\n },\n {\n id: 'docs.examples.team-hub.usage',\n title: 'Team Hub — Usage',\n summary: 'How to set up spaces, tasks, and rituals and regenerate safely.',\n kind: 'usage',\n visibility: 'public',\n route: '/docs/examples/team-hub/usage',\n tags: ['collaboration', 'usage'],\n body: `## Setup\n1) Seed (if available) or create a space; add members and tasks; schedule rituals.\n2) Configure Notifications for rituals/reminders and announcements; use Jobs for scheduling.\n\n## Extend & regenerate\n1) Adjust schemas: task priority/status, ritual cadence/attendance, announcement targeting.\n2) Regenerate to update boards/calendars/feeds; mark PII paths as needed.\n3) Use Feature Flags to trial new rituals or task views.\n\n## Guardrails\n- Emit events for task/ritual/announcement changes; log in Audit Trail.\n- Keep ritual cadence declarative; avoid hardcoded schedules.\n- Ensure announcements carry title/description for accessibility.`,\n },\n {\n id: 'docs.examples.team-hub.constraints',\n title: 'Team Hub — Constraints & Safety',\n summary:\n 'Internal guardrails for rituals, tasks, and announcements regeneration.',\n kind: 'reference',\n visibility: 'internal',\n route: '/docs/examples/team-hub/constraints',\n tags: ['collaboration', 'constraints', 'internal'],\n body: `## Constraints\n- Ritual cadence and task states must stay declarative in spec; no hardcoded schedules.\n- Events to emit: task.created/updated/completed, ritual.scheduled/completed, announcement.published.\n- Regeneration should not drop reminders or announcements routing.\n\n## PII & A11y\n- Mark PII (names/emails) for redaction in presentations.\n- Announcements must include title/description; respect accessibility guidance.\n\n## Verification\n- Add fixtures for ritual cadence changes and announcement targeting.\n- Ensure Notifications/Jobs wiring persists after regeneration.\n- Use Feature Flags to trial new boards/rituals with safe defaults.`,\n },\n];\n\nregisterDocBlocks(teamHubDocBlocks);\n"],"mappings":";;;AAiGA,kBA9FqC;CACnC;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAS;GAAW;GAAiB;GAAgB;EAC5D,MAAM;;;;;;;;;;;;;;;;EAgBP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SAAS;EACT,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,iBAAiB,OAAO;EAC/B,MAAM;;;;;;;;;;;EAWP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SAAS;EACT,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM,CAAC,iBAAiB,QAAQ;EAChC,MAAM;;;;;;;;;;;;;EAaP;CACD;EACE,IAAI;EACJ,OAAO;EACP,SACE;EACF,MAAM;EACN,YAAY;EACZ,OAAO;EACP,MAAM;GAAC;GAAiB;GAAe;GAAW;EAClD,MAAM;;;;;;;;;;;;;EAaP;CACF,CAEkC"}
|
|
@@ -1 +0,0 @@
|
|
|
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/events.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","names":[],"sources":["../src/events.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@contractspec/lib.schema';\nimport { defineEvent } from '@contractspec/lib.contracts';\n\nconst SpaceEventPayload = defineSchemaModel({\n name: 'SpaceEventPayload',\n description: 'Payload for space events',\n fields: {\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n ownerId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst TaskEventPayload = defineSchemaModel({\n name: 'TaskEventPayload',\n description: 'Payload for task events',\n fields: {\n taskId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n assigneeId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst RitualEventPayload = defineSchemaModel({\n name: 'RitualEventPayload',\n description: 'Payload for ritual events',\n fields: {\n ritualId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n scheduledFor: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst AnnouncementPayload = defineSchemaModel({\n name: 'AnnouncementPayload',\n description: 'Payload for announcements',\n fields: {\n announcementId: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n audience: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const SpaceCreatedEvent = defineEvent({\n meta: {\n key: 'team.space.created',\n version: '1.0.0',\n description: 'A space was created.',\n stability: 'stable',\n owners: ['@team-hub'],\n tags: ['team', 'space', 'created'],\n },\n payload: SpaceEventPayload,\n});\n\nexport const TaskCreatedEvent = defineEvent({\n meta: {\n key: 'team.task.created',\n version: '1.0.0',\n description: 'A task was created.',\n stability: 'stable',\n owners: ['@team-hub'],\n tags: ['team', 'task', 'created'],\n },\n payload: TaskEventPayload,\n});\n\nexport const TaskStatusChangedEvent = defineEvent({\n meta: {\n key: 'team.task.status_changed',\n version: '1.0.0',\n description: 'A task status changed.',\n stability: 'stable',\n owners: ['@team-hub'],\n tags: ['team', 'task', 'status_changed'],\n },\n payload: TaskEventPayload,\n});\n\nexport const RitualScheduledEvent = defineEvent({\n meta: {\n key: 'team.ritual.scheduled',\n version: '1.0.0',\n description: 'A ritual was scheduled.',\n stability: 'stable',\n owners: ['@team-hub'],\n tags: ['team', 'ritual', 'scheduled'],\n },\n payload: RitualEventPayload,\n});\n\nexport const RitualOccurredEvent = defineEvent({\n meta: {\n key: 'team.ritual.occurred',\n version: '1.0.0',\n description: 'A ritual occurrence was logged.',\n stability: 'stable',\n owners: ['@team-hub'],\n tags: ['team', 'ritual', 'occurred'],\n },\n payload: RitualEventPayload,\n});\n\nexport const AnnouncementPostedEvent = defineEvent({\n meta: {\n key: 'team.announcement.posted',\n version: '1.0.0',\n description: 'An announcement was posted.',\n stability: 'stable',\n owners: ['@team-hub'],\n tags: ['team', 'announcement', 'posted'],\n },\n payload: AnnouncementPayload,\n});\n\nexport const TeamHubEvents = {\n SpaceCreatedEvent,\n TaskCreatedEvent,\n TaskStatusChangedEvent,\n RitualScheduledEvent,\n RitualOccurredEvent,\n AnnouncementPostedEvent,\n};\n"],"mappings":"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"}
|
package/dist/example.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/handlers/index.ts"],"sourcesContent":["/**\n * Placeholder handler registry for Team Hub contracts.\n */\n\nexport function registerTeamHubHandlers() {\n // Bind contracts to runtime implementations in the host app.\n}\n"],"mappings":";;;;AAIA,SAAgB,0BAA0B"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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.0.0',\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.0.0',\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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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.0.0',\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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.operations.js","names":[],"sources":["../../src/task/task.operations.ts"],"sourcesContent":["import { defineCommand, defineQuery } from '@contractspec/lib.contracts';\nimport { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';\nimport {\n CreateTaskInputModel,\n TaskModel,\n UpdateTaskStatusInputModel,\n} from './task.schema';\n\nconst OWNERS = ['@examples.team-hub'] as const;\n\n// ============ List Tasks Query ============\n\nexport const ListTasksInputModel = defineSchemaModel({\n name: 'ListTasksInput',\n description: 'Input for listing tasks',\n fields: {\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n assigneeId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n limit: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n offset: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n },\n});\n\nexport const ListTasksOutputModel = defineSchemaModel({\n name: 'ListTasksOutput',\n description: 'Output for listing tasks',\n fields: {\n tasks: { type: TaskModel, isOptional: false, isList: true },\n total: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n },\n});\n\nexport const ListTasksOperation = defineQuery({\n meta: {\n key: 'team.task.list',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['team-hub', 'task', 'list', 'query'],\n description: 'List all tasks with filtering',\n goal: 'Retrieve list of tasks',\n context: 'Task management',\n },\n io: {\n input: ListTasksInputModel,\n output: ListTasksOutputModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'list-tasks-happy-path',\n given: ['Tasks exist'],\n when: ['User lists tasks'],\n then: ['List of tasks is returned'],\n },\n ],\n examples: [\n {\n key: 'list-my-tasks',\n input: { assigneeId: 'user-123', status: 'open', limit: 10 },\n output: { tasks: [], total: 3 },\n },\n ],\n },\n});\n\n// ============ Task Commands ============\n\n/**\n * Create a task.\n */\nexport const CreateTaskContract = defineCommand({\n meta: {\n key: 'team.task.create',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['team-hub', 'task', 'create'],\n description: 'Create a task.',\n goal: 'Track work.',\n context: 'Task management.',\n },\n io: {\n input: CreateTaskInputModel,\n output: TaskModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'create-task-happy-path',\n given: ['Space exists'],\n when: ['User creates task'],\n then: ['Task is created'],\n },\n ],\n examples: [\n {\n key: 'create-bug',\n input: { spaceId: 'space-123', title: 'Fix login bug', type: 'bug' },\n output: { id: 'task-456', status: 'todo' },\n },\n ],\n },\n});\n\n/**\n * Update task status.\n */\nexport const UpdateTaskStatusContract = defineCommand({\n meta: {\n key: 'team.task.updateStatus',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['team-hub', 'task', 'status'],\n description: 'Update task status.',\n goal: 'Track progress.',\n context: 'Task management.',\n },\n io: {\n input: UpdateTaskStatusInputModel,\n output: TaskModel,\n },\n policy: { auth: 'user' },\n acceptance: {\n scenarios: [\n {\n key: 'update-status-happy-path',\n given: ['Task exists'],\n when: ['User updates status'],\n then: ['Status is updated'],\n },\n ],\n examples: [\n {\n key: 'markup-done',\n input: { taskId: 'task-456', status: 'done' },\n output: { id: 'task-456', status: 'done' },\n },\n ],\n },\n});\n"],"mappings":";;;;;AAQA,MAAM,SAAS,CAAC,qBAAqB;AAIrC,MAAa,sBAAsB,kBAAkB;CACnD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACrE,QAAQ;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACpE,YAAY;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACxE,OAAO;GAAE,MAAM,eAAe,cAAc;GAAE,YAAY;GAAM;EAChE,QAAQ;GAAE,MAAM,eAAe,cAAc;GAAE,YAAY;GAAM;EAClE;CACF,CAAC;AAEF,MAAa,uBAAuB,kBAAkB;CACpD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,OAAO;GAAE,MAAM;GAAW,YAAY;GAAO,QAAQ;GAAM;EAC3D,OAAO;GAAE,MAAM,eAAe,cAAc;GAAE,YAAY;GAAO;EAClE;CACF,CAAC;AAEF,MAAa,qBAAqB,YAAY;CAC5C,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAY;GAAQ;GAAQ;GAAQ;EAC3C,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,cAAc;GACtB,MAAM,CAAC,mBAAmB;GAC1B,MAAM,CAAC,4BAA4B;GACpC,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IAAE,YAAY;IAAY,QAAQ;IAAQ,OAAO;IAAI;GAC5D,QAAQ;IAAE,OAAO,EAAE;IAAE,OAAO;IAAG;GAChC,CACF;EACF;CACF,CAAC;;;;AAOF,MAAa,qBAAqB,cAAc;CAC9C,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAY;GAAQ;GAAS;EACpC,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,oBAAoB;GAC3B,MAAM,CAAC,kBAAkB;GAC1B,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IAAE,SAAS;IAAa,OAAO;IAAiB,MAAM;IAAO;GACpE,QAAQ;IAAE,IAAI;IAAY,QAAQ;IAAQ;GAC3C,CACF;EACF;CACF,CAAC;;;;AAKF,MAAa,2BAA2B,cAAc;CACpD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,WAAW;EACX,QAAQ,CAAC,GAAG,OAAO;EACnB,MAAM;GAAC;GAAY;GAAQ;GAAS;EACpC,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,cAAc;GACtB,MAAM,CAAC,sBAAsB;GAC7B,MAAM,CAAC,oBAAoB;GAC5B,CACF;EACD,UAAU,CACR;GACE,KAAK;GACL,OAAO;IAAE,QAAQ;IAAY,QAAQ;IAAQ;GAC7C,QAAQ;IAAE,IAAI;IAAY,QAAQ;IAAQ;GAC3C,CACF;EACF;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.schema.js","names":[],"sources":["../../src/task/task.schema.ts"],"sourcesContent":["import { defineSchemaModel, ScalarTypeEnum } from '@contractspec/lib.schema';\n\n/**\n * Task in a space.\n */\nexport const TaskModel = defineSchemaModel({\n name: 'Task',\n description: 'Task in a space',\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 status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n priority: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n assigneeId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n dueDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\n/**\n * Input for creating a task.\n */\nexport const CreateTaskInputModel = defineSchemaModel({\n name: 'CreateTaskInput',\n description: 'Input for creating a task',\n fields: {\n spaceId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n title: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n priority: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n assigneeId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n dueDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\n/**\n * Input for updating task status.\n */\nexport const UpdateTaskStatusInputModel = defineSchemaModel({\n name: 'UpdateTaskStatusInput',\n description: 'Update task status',\n fields: {\n taskId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n"],"mappings":";;;;;;AAKA,MAAa,YAAY,kBAAkB;CACzC,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,QAAQ;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACrE,UAAU;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACvE,YAAY;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACxE,SAAS;GAAE,MAAM,eAAe,UAAU;GAAE,YAAY;GAAM;EAC/D;CACF,CAAC;;;;AAKF,MAAa,uBAAuB,kBAAkB;CACpD,MAAM;CACN,aAAa;CACb,QAAQ;EACN,SAAS;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACtE,OAAO;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACpE,aAAa;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACzE,UAAU;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACtE,YAAY;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAM;EACxE,SAAS;GAAE,MAAM,eAAe,UAAU;GAAE,YAAY;GAAM;EAC/D;CACF,CAAC;;;;AAKF,MAAa,6BAA6B,kBAAkB;CAC1D,MAAM;CACN,aAAa;CACb,QAAQ;EACN,QAAQ;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACrE,QAAQ;GAAE,MAAM,eAAe,iBAAiB;GAAE,YAAY;GAAO;EACtE;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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"}
|