planfs-schema 1.2.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/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # planfs-schema
2
+
3
+ JSON Schema definitions for PlanFS entities.
4
+
5
+ ## Overview
6
+
7
+ `planfs-schema` provides versioned schema definitions for all entity types:
8
+
9
+ - Task schema (v1.0)
10
+ - Epic schema (v1.0)
11
+ - Milestone schema (v1.0)
12
+ - Decision schema (v1.0)
13
+
14
+ ## Usage
15
+
16
+ ```typescript
17
+ import { taskSchema, epicSchema, milestoneSchema, decisionSchema } from 'planfs-schema';
18
+
19
+ // Use with AJV for validation
20
+ import Ajv from 'ajv';
21
+
22
+ const ajv = new Ajv();
23
+ const validateTask = ajv.compile(taskSchema);
24
+
25
+ const task = {
26
+ id: 'TASK-001',
27
+ title: 'My task',
28
+ status: 'todo'
29
+ };
30
+
31
+ if (validateTask(task)) {
32
+ console.log('Valid task');
33
+ } else {
34
+ console.log('Invalid task:', validateTask.errors);
35
+ }
36
+ ```
37
+
38
+ ## Schemas
39
+
40
+ ### Task Schema
41
+
42
+ - Required: `id`, `title`, `status`
43
+ - Optional: `priority`, `assignee`, `epic`, `milestone`, `dependsOn`, `tags`, `dueDate`, `estimate`, `refinementState`, `backlogOrder`, `links`
44
+
45
+ ### Epic Schema
46
+
47
+ - Required: `id`, `title`, `status`
48
+ - Optional: `owner`, `description`, `targetDate`, `tags`, `links`
49
+
50
+ ### Milestone Schema
51
+
52
+ - Required: `id`, `title`, `targetDate`, `status`
53
+ - Optional: `description`, `owner`, `links`
54
+
55
+ ### Decision Schema
56
+
57
+ - Required: `id`, `title`, `status`
58
+ - Optional: `date`, `context`, `decision`, `consequences`, `author`, `supersedes`, `supersededBy`
59
+
60
+ ## License
61
+
62
+ MIT
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Main entry point for schema package
3
+ */
4
+ export { taskSchema, epicSchema, milestoneSchema, decisionSchema } from './schemas/index';
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * Main entry point for schema package
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.decisionSchema = exports.milestoneSchema = exports.epicSchema = exports.taskSchema = void 0;
7
+ var index_1 = require("./schemas/index");
8
+ Object.defineProperty(exports, "taskSchema", { enumerable: true, get: function () { return index_1.taskSchema; } });
9
+ Object.defineProperty(exports, "epicSchema", { enumerable: true, get: function () { return index_1.epicSchema; } });
10
+ Object.defineProperty(exports, "milestoneSchema", { enumerable: true, get: function () { return index_1.milestoneSchema; } });
11
+ Object.defineProperty(exports, "decisionSchema", { enumerable: true, get: function () { return index_1.decisionSchema; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yCAA0F;AAAjF,mGAAA,UAAU,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,uGAAA,cAAc,OAAA"}
@@ -0,0 +1,303 @@
1
+ export declare const taskSchema: {
2
+ $schema: string;
3
+ title: string;
4
+ type: string;
5
+ required: string[];
6
+ properties: {
7
+ id: {
8
+ type: string;
9
+ pattern: string;
10
+ description: string;
11
+ };
12
+ title: {
13
+ type: string;
14
+ minLength: number;
15
+ maxLength: number;
16
+ description: string;
17
+ };
18
+ status: {
19
+ type: string;
20
+ enum: string[];
21
+ description: string;
22
+ };
23
+ priority: {
24
+ type: string;
25
+ enum: string[];
26
+ description: string;
27
+ };
28
+ assignee: {
29
+ type: string;
30
+ description: string;
31
+ };
32
+ epic: {
33
+ type: string;
34
+ pattern: string;
35
+ description: string;
36
+ };
37
+ milestone: {
38
+ type: string;
39
+ pattern: string;
40
+ description: string;
41
+ };
42
+ dependsOn: {
43
+ type: string;
44
+ items: {
45
+ type: string;
46
+ pattern: string;
47
+ };
48
+ description: string;
49
+ };
50
+ tags: {
51
+ type: string;
52
+ items: {
53
+ type: string;
54
+ };
55
+ description: string;
56
+ };
57
+ dueDate: {
58
+ type: string;
59
+ format: string;
60
+ description: string;
61
+ };
62
+ estimate: {
63
+ type: string;
64
+ description: string;
65
+ };
66
+ refinementState: {
67
+ type: string;
68
+ enum: string[];
69
+ description: string;
70
+ };
71
+ backlogOrder: {
72
+ type: string;
73
+ description: string;
74
+ };
75
+ links: {
76
+ type: string;
77
+ additionalProperties: {
78
+ type: string;
79
+ format: string;
80
+ };
81
+ description: string;
82
+ };
83
+ archive: {
84
+ type: string;
85
+ required: string[];
86
+ properties: {
87
+ archivedAt: {
88
+ type: string;
89
+ format: string;
90
+ };
91
+ originalPath: {
92
+ type: string;
93
+ };
94
+ };
95
+ additionalProperties: boolean;
96
+ description: string;
97
+ };
98
+ createdAt: {
99
+ type: string;
100
+ format: string;
101
+ description: string;
102
+ };
103
+ updatedAt: {
104
+ type: string;
105
+ format: string;
106
+ description: string;
107
+ };
108
+ };
109
+ };
110
+ export declare const epicSchema: {
111
+ $schema: string;
112
+ title: string;
113
+ type: string;
114
+ required: string[];
115
+ properties: {
116
+ id: {
117
+ type: string;
118
+ pattern: string;
119
+ description: string;
120
+ };
121
+ title: {
122
+ type: string;
123
+ minLength: number;
124
+ maxLength: number;
125
+ description: string;
126
+ };
127
+ status: {
128
+ type: string;
129
+ enum: string[];
130
+ description: string;
131
+ };
132
+ priority: {
133
+ type: string;
134
+ enum: string[];
135
+ description: string;
136
+ };
137
+ owner: {
138
+ type: string;
139
+ description: string;
140
+ };
141
+ description: {
142
+ type: string;
143
+ description: string;
144
+ };
145
+ targetDate: {
146
+ type: string;
147
+ format: string;
148
+ description: string;
149
+ };
150
+ tags: {
151
+ type: string;
152
+ items: {
153
+ type: string;
154
+ };
155
+ description: string;
156
+ };
157
+ links: {
158
+ type: string;
159
+ additionalProperties: {
160
+ type: string;
161
+ };
162
+ description: string;
163
+ };
164
+ archive: {
165
+ type: string;
166
+ required: string[];
167
+ properties: {
168
+ archivedAt: {
169
+ type: string;
170
+ format: string;
171
+ };
172
+ originalPath: {
173
+ type: string;
174
+ };
175
+ };
176
+ additionalProperties: boolean;
177
+ description: string;
178
+ };
179
+ createdAt: {
180
+ type: string;
181
+ format: string;
182
+ };
183
+ updatedAt: {
184
+ type: string;
185
+ format: string;
186
+ };
187
+ };
188
+ };
189
+ export declare const milestoneSchema: {
190
+ $schema: string;
191
+ title: string;
192
+ type: string;
193
+ required: string[];
194
+ properties: {
195
+ id: {
196
+ type: string;
197
+ pattern: string;
198
+ description: string;
199
+ };
200
+ title: {
201
+ type: string;
202
+ minLength: number;
203
+ maxLength: number;
204
+ description: string;
205
+ };
206
+ status: {
207
+ type: string;
208
+ enum: string[];
209
+ description: string;
210
+ };
211
+ targetDate: {
212
+ type: string;
213
+ format: string;
214
+ description: string;
215
+ };
216
+ description: {
217
+ type: string;
218
+ description: string;
219
+ };
220
+ owner: {
221
+ type: string;
222
+ description: string;
223
+ };
224
+ links: {
225
+ type: string;
226
+ additionalProperties: {
227
+ type: string;
228
+ };
229
+ description: string;
230
+ };
231
+ createdAt: {
232
+ type: string;
233
+ format: string;
234
+ };
235
+ updatedAt: {
236
+ type: string;
237
+ format: string;
238
+ };
239
+ };
240
+ };
241
+ export declare const decisionSchema: {
242
+ $schema: string;
243
+ title: string;
244
+ type: string;
245
+ required: string[];
246
+ properties: {
247
+ id: {
248
+ type: string;
249
+ pattern: string;
250
+ description: string;
251
+ };
252
+ title: {
253
+ type: string;
254
+ minLength: number;
255
+ maxLength: number;
256
+ description: string;
257
+ };
258
+ status: {
259
+ type: string;
260
+ enum: string[];
261
+ description: string;
262
+ };
263
+ date: {
264
+ type: string;
265
+ format: string;
266
+ description: string;
267
+ };
268
+ context: {
269
+ type: string;
270
+ description: string;
271
+ };
272
+ decision: {
273
+ type: string;
274
+ description: string;
275
+ };
276
+ consequences: {
277
+ type: string;
278
+ description: string;
279
+ };
280
+ author: {
281
+ type: string;
282
+ description: string;
283
+ };
284
+ supersedes: {
285
+ type: string;
286
+ pattern: string;
287
+ description: string;
288
+ };
289
+ supersededBy: {
290
+ type: string;
291
+ pattern: string;
292
+ description: string;
293
+ };
294
+ createdAt: {
295
+ type: string;
296
+ format: string;
297
+ };
298
+ updatedAt: {
299
+ type: string;
300
+ format: string;
301
+ };
302
+ };
303
+ };
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decisionSchema = exports.milestoneSchema = exports.epicSchema = exports.taskSchema = void 0;
4
+ exports.taskSchema = {
5
+ $schema: 'http://json-schema.org/draft-07/schema#',
6
+ title: 'PlanFS Task',
7
+ type: 'object',
8
+ required: ['id', 'title', 'status'],
9
+ properties: {
10
+ id: {
11
+ type: 'string',
12
+ pattern: '^TASK-[0-9]{3,}$',
13
+ description: 'Unique task identifier'
14
+ },
15
+ title: {
16
+ type: 'string',
17
+ minLength: 1,
18
+ maxLength: 200,
19
+ description: 'Task title'
20
+ },
21
+ status: {
22
+ type: 'string',
23
+ enum: ['todo', 'in-progress', 'review', 'done'],
24
+ description: 'Current task status'
25
+ },
26
+ priority: {
27
+ type: 'string',
28
+ enum: ['low', 'medium', 'high', 'critical'],
29
+ description: 'Task priority level'
30
+ },
31
+ assignee: {
32
+ type: 'string',
33
+ description: 'GitHub username or email of assignee'
34
+ },
35
+ epic: {
36
+ type: 'string',
37
+ pattern: '^EPIC-',
38
+ description: 'Parent epic ID'
39
+ },
40
+ milestone: {
41
+ type: 'string',
42
+ pattern: '^MILESTONE-',
43
+ description: 'Associated milestone ID'
44
+ },
45
+ dependsOn: {
46
+ type: 'array',
47
+ items: {
48
+ type: 'string',
49
+ pattern: '^TASK-'
50
+ },
51
+ description: 'Task IDs this task depends on'
52
+ },
53
+ tags: {
54
+ type: 'array',
55
+ items: {
56
+ type: 'string'
57
+ },
58
+ description: 'Categorization tags'
59
+ },
60
+ dueDate: {
61
+ type: 'string',
62
+ format: 'date-time',
63
+ description: 'Target completion date (ISO 8601)'
64
+ },
65
+ estimate: {
66
+ type: 'string',
67
+ description: 'Estimated effort (e.g., "2d", "5h")'
68
+ },
69
+ refinementState: {
70
+ type: 'string',
71
+ enum: ['captured', 'needs-refinement', 'ready', 'deferred', 'discarded'],
72
+ description: 'Backlog refinement state, separate from task status'
73
+ },
74
+ backlogOrder: {
75
+ type: 'number',
76
+ description: 'Optional human-editable backlog ordering value'
77
+ },
78
+ links: {
79
+ type: 'object',
80
+ additionalProperties: {
81
+ type: 'string',
82
+ format: 'uri'
83
+ },
84
+ description: 'External references'
85
+ },
86
+ archive: {
87
+ type: 'object',
88
+ required: ['archivedAt', 'originalPath'],
89
+ properties: {
90
+ archivedAt: {
91
+ type: 'string',
92
+ format: 'date-time'
93
+ },
94
+ originalPath: {
95
+ type: 'string'
96
+ }
97
+ },
98
+ additionalProperties: false,
99
+ description: 'Archive metadata for items moved out of the active plan'
100
+ },
101
+ createdAt: {
102
+ type: 'string',
103
+ format: 'date-time',
104
+ description: 'Creation timestamp (ISO 8601)'
105
+ },
106
+ updatedAt: {
107
+ type: 'string',
108
+ format: 'date-time',
109
+ description: 'Last update timestamp (ISO 8601)'
110
+ }
111
+ }
112
+ };
113
+ exports.epicSchema = {
114
+ $schema: 'http://json-schema.org/draft-07/schema#',
115
+ title: 'PlanFS Epic',
116
+ type: 'object',
117
+ required: ['id', 'title', 'status'],
118
+ properties: {
119
+ id: {
120
+ type: 'string',
121
+ pattern: '^EPIC-',
122
+ description: 'Unique epic identifier'
123
+ },
124
+ title: {
125
+ type: 'string',
126
+ minLength: 1,
127
+ maxLength: 200,
128
+ description: 'Epic title'
129
+ },
130
+ status: {
131
+ type: 'string',
132
+ enum: ['active', 'completed', 'on-hold', 'archived'],
133
+ description: 'Epic status'
134
+ },
135
+ priority: {
136
+ type: 'string',
137
+ enum: ['low', 'medium', 'high', 'critical'],
138
+ description: 'Epic priority level'
139
+ },
140
+ owner: {
141
+ type: 'string',
142
+ description: 'Epic owner username'
143
+ },
144
+ description: {
145
+ type: 'string',
146
+ description: 'Epic description'
147
+ },
148
+ targetDate: {
149
+ type: 'string',
150
+ format: 'date-time',
151
+ description: 'Target completion date'
152
+ },
153
+ tags: {
154
+ type: 'array',
155
+ items: {
156
+ type: 'string'
157
+ },
158
+ description: 'Categorization tags'
159
+ },
160
+ links: {
161
+ type: 'object',
162
+ additionalProperties: {
163
+ type: 'string'
164
+ },
165
+ description: 'External references'
166
+ },
167
+ archive: {
168
+ type: 'object',
169
+ required: ['archivedAt', 'originalPath'],
170
+ properties: {
171
+ archivedAt: {
172
+ type: 'string',
173
+ format: 'date-time'
174
+ },
175
+ originalPath: {
176
+ type: 'string'
177
+ }
178
+ },
179
+ additionalProperties: false,
180
+ description: 'Archive metadata for items moved out of the active plan'
181
+ },
182
+ createdAt: {
183
+ type: 'string',
184
+ format: 'date-time'
185
+ },
186
+ updatedAt: {
187
+ type: 'string',
188
+ format: 'date-time'
189
+ }
190
+ }
191
+ };
192
+ exports.milestoneSchema = {
193
+ $schema: 'http://json-schema.org/draft-07/schema#',
194
+ title: 'PlanFS Milestone',
195
+ type: 'object',
196
+ required: ['id', 'title', 'targetDate', 'status'],
197
+ properties: {
198
+ id: {
199
+ type: 'string',
200
+ pattern: '^MILESTONE-',
201
+ description: 'Unique milestone identifier'
202
+ },
203
+ title: {
204
+ type: 'string',
205
+ minLength: 1,
206
+ maxLength: 200,
207
+ description: 'Milestone title'
208
+ },
209
+ status: {
210
+ type: 'string',
211
+ enum: ['active', 'completed', 'delayed'],
212
+ description: 'Milestone status'
213
+ },
214
+ targetDate: {
215
+ type: 'string',
216
+ format: 'date-time',
217
+ description: 'Target delivery date (required)'
218
+ },
219
+ description: {
220
+ type: 'string',
221
+ description: 'Milestone description'
222
+ },
223
+ owner: {
224
+ type: 'string',
225
+ description: 'Responsible party'
226
+ },
227
+ links: {
228
+ type: 'object',
229
+ additionalProperties: {
230
+ type: 'string'
231
+ },
232
+ description: 'External references'
233
+ },
234
+ createdAt: {
235
+ type: 'string',
236
+ format: 'date-time'
237
+ },
238
+ updatedAt: {
239
+ type: 'string',
240
+ format: 'date-time'
241
+ }
242
+ }
243
+ };
244
+ exports.decisionSchema = {
245
+ $schema: 'http://json-schema.org/draft-07/schema#',
246
+ title: 'PlanFS Decision',
247
+ type: 'object',
248
+ required: ['id', 'title', 'status'],
249
+ properties: {
250
+ id: {
251
+ type: 'string',
252
+ pattern: '^DECISION-',
253
+ description: 'Unique decision identifier'
254
+ },
255
+ title: {
256
+ type: 'string',
257
+ minLength: 1,
258
+ maxLength: 200,
259
+ description: 'Decision title'
260
+ },
261
+ status: {
262
+ type: 'string',
263
+ enum: ['proposed', 'accepted', 'rejected', 'superseded'],
264
+ description: 'Decision status'
265
+ },
266
+ date: {
267
+ type: 'string',
268
+ format: 'date-time',
269
+ description: 'When decision was made'
270
+ },
271
+ context: {
272
+ type: 'string',
273
+ description: 'Problem context'
274
+ },
275
+ decision: {
276
+ type: 'string',
277
+ description: 'Decision made'
278
+ },
279
+ consequences: {
280
+ type: 'string',
281
+ description: 'Consequences of the decision'
282
+ },
283
+ author: {
284
+ type: 'string',
285
+ description: 'Decision author'
286
+ },
287
+ supersedes: {
288
+ type: 'string',
289
+ pattern: '^DECISION-',
290
+ description: 'ID of decision this supersedes'
291
+ },
292
+ supersededBy: {
293
+ type: 'string',
294
+ pattern: '^DECISION-',
295
+ description: 'ID of decision that supersedes this'
296
+ },
297
+ createdAt: {
298
+ type: 'string',
299
+ format: 'date-time'
300
+ },
301
+ updatedAt: {
302
+ type: 'string',
303
+ format: 'date-time'
304
+ }
305
+ }
306
+ };
307
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "planfs-schema",
3
+ "version": "1.2.0",
4
+ "description": "Schema definitions for PlanFS entities",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md",
10
+ "LICENSE*"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "test": "jest --passWithNoTests",
15
+ "clean": "rm -rf dist"
16
+ },
17
+ "keywords": [
18
+ "planfs",
19
+ "schema",
20
+ "json-schema"
21
+ ],
22
+ "author": "",
23
+ "license": "MIT",
24
+ "devDependencies": {
25
+ "@types/jest": "^30.0.0",
26
+ "@types/node": "^18.16.0",
27
+ "jest": "^30.4.2",
28
+ "ts-jest": "^29.4.11",
29
+ "typescript": "^5.0.0"
30
+ }
31
+ }