@rengler33/prov 0.1.6 → 0.1.7
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 +2 -0
- package/dist/cli.js +18 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.test.js +7 -7
- package/dist/commands/agent.test.js.map +1 -1
- package/dist/commands/constraint.js +6 -6
- package/dist/commands/constraint.js.map +1 -1
- package/dist/commands/constraint.test.js +38 -38
- package/dist/commands/constraint.test.js.map +1 -1
- package/dist/commands/create.js +3 -3
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/create.test.js +7 -7
- package/dist/commands/create.test.js.map +1 -1
- package/dist/commands/integration.test.js +26 -26
- package/dist/commands/integration.test.js.map +1 -1
- package/dist/commands/mcp.test.js +8 -8
- package/dist/commands/mcp.test.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +118 -8
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/plan.test.js +43 -43
- package/dist/commands/plan.test.js.map +1 -1
- package/dist/commands/spec.d.ts +65 -1
- package/dist/commands/spec.d.ts.map +1 -1
- package/dist/commands/spec.js +399 -7
- package/dist/commands/spec.js.map +1 -1
- package/dist/commands/spec.test.js +33 -33
- package/dist/commands/spec.test.js.map +1 -1
- package/dist/commands/trace.test.js +17 -17
- package/dist/commands/trace.test.js.map +1 -1
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +3 -1
- package/dist/hash.js.map +1 -1
- package/dist/hash.test.js +9 -6
- package/dist/hash.test.js.map +1 -1
- package/dist/staleness.d.ts +6 -0
- package/dist/staleness.d.ts.map +1 -1
- package/dist/staleness.js +19 -0
- package/dist/staleness.js.map +1 -1
- package/dist/status.d.ts +58 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +82 -0
- package/dist/status.js.map +1 -0
- package/dist/status.test.d.ts +2 -0
- package/dist/status.test.d.ts.map +1 -0
- package/dist/status.test.js +136 -0
- package/dist/status.test.js.map +1 -0
- package/dist/storage.d.ts +29 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +50 -9
- package/dist/storage.js.map +1 -1
- package/dist/watcher.js +3 -3
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.test.js +54 -54
- package/dist/watcher.test.js.map +1 -1
- package/package.json +1 -1
package/dist/hash.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../src/hash.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,UAAU,EACV,SAAS,EACT,MAAM,GACP,MAAM,WAAW,CAAC;AAGnB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE/B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;aAC9B,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAE5D,qCAAqC;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;aACxB,CAAC,CAAC;YAEH,mDAAmD;YACnD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../src/hash.test.ts"],"names":[],"mappings":"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"}
|
package/dist/staleness.d.ts
CHANGED
|
@@ -32,6 +32,12 @@ export type StalenessReason = {
|
|
|
32
32
|
} | {
|
|
33
33
|
type: 'source_missing';
|
|
34
34
|
sourceId: EntityId;
|
|
35
|
+
} | {
|
|
36
|
+
type: 'source_deprecated';
|
|
37
|
+
sourceId: EntityId;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'source_archived';
|
|
40
|
+
sourceId: EntityId;
|
|
35
41
|
};
|
|
36
42
|
/**
|
|
37
43
|
* Staleness information for a single entity.
|
package/dist/staleness.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../src/staleness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../src/staleness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EAEV,QAAQ,EACR,IAAI,EACJ,IAAI,EAEJ,KAAK,EACN,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,GACpF;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,GAChF;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,QAAQ,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrD,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC5C,8DAA8D;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,QAAQ,EAAE,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IACtD,6CAA6C;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAMD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAsB,GAClC,IAAI,GAAG,IAAI,CAgBb;AAMD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,WAAW,GACjB,aAAa,CAgDf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,WAAW,GAAE,MAAsB,GAClC,aAAa,CAyBf;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,GAC3B,GAAG,CAAC,QAAQ,CAAC,CAiBf;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CAmEjB;AAqBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,QAAQ,EAChB,OAAO,GAAE,gBAAqB,GAC7B,aAAa,GAAG,IAAI,CAwBtB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,gBAAqB,GAC7B,QAAQ,EAAE,CAGZ;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,EAAE,CAGjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,WAAW,GAAE,MAAsB,GAClC,aAAa,EAAE,CAOjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAiBrE"}
|
package/dist/staleness.js
CHANGED
|
@@ -75,6 +75,21 @@ export function checkPlanStaleness(plan, graph) {
|
|
|
75
75
|
actualHash: currentHash,
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
+
// Check source status for deprecated/archived
|
|
79
|
+
// @see spec:behavioral-status:v1
|
|
80
|
+
const sourceData = sourceNode.data;
|
|
81
|
+
if (sourceData.status === 'deprecated') {
|
|
82
|
+
reasons.push({
|
|
83
|
+
type: 'source_deprecated',
|
|
84
|
+
sourceId: source.id,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else if (sourceData.status === 'archived') {
|
|
88
|
+
reasons.push({
|
|
89
|
+
type: 'source_archived',
|
|
90
|
+
sourceId: source.id,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
78
93
|
}
|
|
79
94
|
return {
|
|
80
95
|
id: plan.id,
|
|
@@ -304,6 +319,10 @@ export function formatStalenessReason(reason) {
|
|
|
304
319
|
return `Derived from stale node ${reason.upstreamId}`;
|
|
305
320
|
case 'source_missing':
|
|
306
321
|
return `Source ${reason.sourceId} no longer exists`;
|
|
322
|
+
case 'source_deprecated':
|
|
323
|
+
return `Source ${reason.sourceId} is deprecated - consider updating to a newer version`;
|
|
324
|
+
case 'source_archived':
|
|
325
|
+
return `Source ${reason.sourceId} is archived - plan cannot be executed`;
|
|
307
326
|
}
|
|
308
327
|
}
|
|
309
328
|
//# sourceMappingURL=staleness.js.map
|
package/dist/staleness.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staleness.js","sourceRoot":"","sources":["../src/staleness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"staleness.js","sourceRoot":"","sources":["../src/staleness.ts"],"names":[],"mappings":"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"}
|
package/dist/status.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entity status validation and enforcement.
|
|
3
|
+
*
|
|
4
|
+
* This module implements behavioral status for specs and constraints.
|
|
5
|
+
* Status values (draft, active, deprecated, archived) enforce actual
|
|
6
|
+
* constraints on operations rather than being purely informational.
|
|
7
|
+
*
|
|
8
|
+
* @see spec:behavioral-status:v1
|
|
9
|
+
*/
|
|
10
|
+
import type { EntityStatus, SpecId, ConstraintId } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Reasons why an operation may be blocked due to status.
|
|
13
|
+
*/
|
|
14
|
+
export type StatusBlockReason = 'draft' | 'deprecated' | 'archived';
|
|
15
|
+
/**
|
|
16
|
+
* Result of a status check operation.
|
|
17
|
+
*/
|
|
18
|
+
export interface StatusCheckResult {
|
|
19
|
+
/** Whether the operation is allowed */
|
|
20
|
+
readonly allowed: boolean;
|
|
21
|
+
/** Reason for blocking (if not allowed) */
|
|
22
|
+
readonly reason?: StatusBlockReason;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Check if an entity's status allows creating a new plan from it.
|
|
26
|
+
*
|
|
27
|
+
* - draft: BLOCKED - work-in-progress, not ready for planning
|
|
28
|
+
* - active: ALLOWED - ready for use
|
|
29
|
+
* - deprecated: BLOCKED - superseded, no new plans allowed
|
|
30
|
+
* - archived: BLOCKED - read-only historical record
|
|
31
|
+
*
|
|
32
|
+
* @see req:status:draft-blocks-creation
|
|
33
|
+
* @see req:status:deprecated-blocks-new
|
|
34
|
+
* @see req:status:archived-full-block
|
|
35
|
+
*/
|
|
36
|
+
export declare function canCreatePlanFrom(status: EntityStatus): StatusCheckResult;
|
|
37
|
+
/**
|
|
38
|
+
* Check if an entity's status allows executing an existing plan that references it.
|
|
39
|
+
*
|
|
40
|
+
* - draft: BLOCKED - shouldn't happen (plan creation was blocked)
|
|
41
|
+
* - active: ALLOWED - normal operation
|
|
42
|
+
* - deprecated: ALLOWED - existing plans continue working
|
|
43
|
+
* - archived: BLOCKED - plan cannot be executed
|
|
44
|
+
*
|
|
45
|
+
* @see req:status:deprecated-blocks-new
|
|
46
|
+
* @see req:status:archived-full-block
|
|
47
|
+
*/
|
|
48
|
+
export declare function canExecutePlanWith(status: EntityStatus): StatusCheckResult;
|
|
49
|
+
/**
|
|
50
|
+
* Format an error message explaining why an operation was blocked due to status.
|
|
51
|
+
*
|
|
52
|
+
* @param entityId - The ID of the spec or constraint
|
|
53
|
+
* @param reason - The status-related reason for blocking
|
|
54
|
+
* @param operation - The operation that was attempted
|
|
55
|
+
* @returns Human-readable error message
|
|
56
|
+
*/
|
|
57
|
+
export declare function formatStatusBlockMessage(entityId: SpecId | ConstraintId, reason: StatusBlockReason, operation: 'create' | 'execute'): string;
|
|
58
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAWzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAW1E;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAC/B,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,QAAQ,GAAG,SAAS,GAC9B,MAAM,CAiBR"}
|
package/dist/status.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entity status validation and enforcement.
|
|
3
|
+
*
|
|
4
|
+
* This module implements behavioral status for specs and constraints.
|
|
5
|
+
* Status values (draft, active, deprecated, archived) enforce actual
|
|
6
|
+
* constraints on operations rather than being purely informational.
|
|
7
|
+
*
|
|
8
|
+
* @see spec:behavioral-status:v1
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Check if an entity's status allows creating a new plan from it.
|
|
12
|
+
*
|
|
13
|
+
* - draft: BLOCKED - work-in-progress, not ready for planning
|
|
14
|
+
* - active: ALLOWED - ready for use
|
|
15
|
+
* - deprecated: BLOCKED - superseded, no new plans allowed
|
|
16
|
+
* - archived: BLOCKED - read-only historical record
|
|
17
|
+
*
|
|
18
|
+
* @see req:status:draft-blocks-creation
|
|
19
|
+
* @see req:status:deprecated-blocks-new
|
|
20
|
+
* @see req:status:archived-full-block
|
|
21
|
+
*/
|
|
22
|
+
export function canCreatePlanFrom(status) {
|
|
23
|
+
switch (status) {
|
|
24
|
+
case 'active':
|
|
25
|
+
return { allowed: true };
|
|
26
|
+
case 'draft':
|
|
27
|
+
return { allowed: false, reason: 'draft' };
|
|
28
|
+
case 'deprecated':
|
|
29
|
+
return { allowed: false, reason: 'deprecated' };
|
|
30
|
+
case 'archived':
|
|
31
|
+
return { allowed: false, reason: 'archived' };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if an entity's status allows executing an existing plan that references it.
|
|
36
|
+
*
|
|
37
|
+
* - draft: BLOCKED - shouldn't happen (plan creation was blocked)
|
|
38
|
+
* - active: ALLOWED - normal operation
|
|
39
|
+
* - deprecated: ALLOWED - existing plans continue working
|
|
40
|
+
* - archived: BLOCKED - plan cannot be executed
|
|
41
|
+
*
|
|
42
|
+
* @see req:status:deprecated-blocks-new
|
|
43
|
+
* @see req:status:archived-full-block
|
|
44
|
+
*/
|
|
45
|
+
export function canExecutePlanWith(status) {
|
|
46
|
+
switch (status) {
|
|
47
|
+
case 'active':
|
|
48
|
+
case 'deprecated':
|
|
49
|
+
// Active is normal, deprecated allows existing plans to continue
|
|
50
|
+
return { allowed: true };
|
|
51
|
+
case 'draft':
|
|
52
|
+
case 'archived':
|
|
53
|
+
// Draft shouldn't happen (plan creation blocked), archived is fully blocked
|
|
54
|
+
return { allowed: false, reason: status };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Format an error message explaining why an operation was blocked due to status.
|
|
59
|
+
*
|
|
60
|
+
* @param entityId - The ID of the spec or constraint
|
|
61
|
+
* @param reason - The status-related reason for blocking
|
|
62
|
+
* @param operation - The operation that was attempted
|
|
63
|
+
* @returns Human-readable error message
|
|
64
|
+
*/
|
|
65
|
+
export function formatStatusBlockMessage(entityId, reason, operation) {
|
|
66
|
+
const messages = {
|
|
67
|
+
draft: {
|
|
68
|
+
create: `Cannot create plan from draft "${entityId}". Draft entities are work-in-progress and not ready for planning. Change the status to "active" first.`,
|
|
69
|
+
execute: `Cannot execute plan: source "${entityId}" has status "draft". This should not happen - draft entities should not have plans.`,
|
|
70
|
+
},
|
|
71
|
+
deprecated: {
|
|
72
|
+
create: `Cannot create plan from deprecated "${entityId}". Deprecated entities cannot be used for new plans. Use an active version or newer spec instead.`,
|
|
73
|
+
execute: `Cannot execute plan: source "${entityId}" is deprecated. Note: existing plans should continue to work - this may indicate a configuration issue.`,
|
|
74
|
+
},
|
|
75
|
+
archived: {
|
|
76
|
+
create: `Cannot create plan from archived "${entityId}". Archived entities are read-only historical records and cannot be used for any operations.`,
|
|
77
|
+
execute: `Cannot execute plan: source "${entityId}" has been archived and is now read-only. Create a new plan from an active spec.`,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
return messages[reason][operation];
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmBH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7C,KAAK,YAAY;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAClD,KAAK,UAAU;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,iEAAiE;YACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACb,4EAA4E;YAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+B,EAC/B,MAAyB,EACzB,SAA+B;IAE/B,MAAM,QAAQ,GAAoE;QAChF,KAAK,EAAE;YACL,MAAM,EAAE,kCAAkC,QAAQ,yGAAyG;YAC3J,OAAO,EAAE,gCAAgC,QAAQ,sFAAsF;SACxI;QACD,UAAU,EAAE;YACV,MAAM,EAAE,uCAAuC,QAAQ,mGAAmG;YAC1J,OAAO,EAAE,gCAAgC,QAAQ,0GAA0G;SAC5J;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,qCAAqC,QAAQ,8FAA8F;YACnJ,OAAO,EAAE,gCAAgC,QAAQ,kFAAkF;SACpI;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.test.d.ts","sourceRoot":"","sources":["../src/status.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { canCreatePlanFrom, canExecutePlanWith, formatStatusBlockMessage, } from './status.js';
|
|
3
|
+
describe('status module', () => {
|
|
4
|
+
describe('canCreatePlanFrom', () => {
|
|
5
|
+
it('allows creating plans from active entities', () => {
|
|
6
|
+
const result = canCreatePlanFrom('active');
|
|
7
|
+
expect(result.allowed).toBe(true);
|
|
8
|
+
expect(result.reason).toBeUndefined();
|
|
9
|
+
});
|
|
10
|
+
it('blocks creating plans from draft entities', () => {
|
|
11
|
+
const result = canCreatePlanFrom('draft');
|
|
12
|
+
expect(result.allowed).toBe(false);
|
|
13
|
+
expect(result.reason).toBe('draft');
|
|
14
|
+
});
|
|
15
|
+
it('blocks creating plans from deprecated entities', () => {
|
|
16
|
+
const result = canCreatePlanFrom('deprecated');
|
|
17
|
+
expect(result.allowed).toBe(false);
|
|
18
|
+
expect(result.reason).toBe('deprecated');
|
|
19
|
+
});
|
|
20
|
+
it('blocks creating plans from archived entities', () => {
|
|
21
|
+
const result = canCreatePlanFrom('archived');
|
|
22
|
+
expect(result.allowed).toBe(false);
|
|
23
|
+
expect(result.reason).toBe('archived');
|
|
24
|
+
});
|
|
25
|
+
it('handles all EntityStatus values', () => {
|
|
26
|
+
const statuses = ['draft', 'active', 'deprecated', 'archived'];
|
|
27
|
+
for (const status of statuses) {
|
|
28
|
+
const result = canCreatePlanFrom(status);
|
|
29
|
+
expect(typeof result.allowed).toBe('boolean');
|
|
30
|
+
if (!result.allowed) {
|
|
31
|
+
expect(result.reason).toBeDefined();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('canExecutePlanWith', () => {
|
|
37
|
+
it('allows execution with active sources', () => {
|
|
38
|
+
const result = canExecutePlanWith('active');
|
|
39
|
+
expect(result.allowed).toBe(true);
|
|
40
|
+
expect(result.reason).toBeUndefined();
|
|
41
|
+
});
|
|
42
|
+
it('allows execution with deprecated sources (existing plans continue)', () => {
|
|
43
|
+
const result = canExecutePlanWith('deprecated');
|
|
44
|
+
expect(result.allowed).toBe(true);
|
|
45
|
+
expect(result.reason).toBeUndefined();
|
|
46
|
+
});
|
|
47
|
+
it('blocks execution with draft sources', () => {
|
|
48
|
+
const result = canExecutePlanWith('draft');
|
|
49
|
+
expect(result.allowed).toBe(false);
|
|
50
|
+
expect(result.reason).toBe('draft');
|
|
51
|
+
});
|
|
52
|
+
it('blocks execution with archived sources', () => {
|
|
53
|
+
const result = canExecutePlanWith('archived');
|
|
54
|
+
expect(result.allowed).toBe(false);
|
|
55
|
+
expect(result.reason).toBe('archived');
|
|
56
|
+
});
|
|
57
|
+
it('handles all EntityStatus values', () => {
|
|
58
|
+
const statuses = ['draft', 'active', 'deprecated', 'archived'];
|
|
59
|
+
for (const status of statuses) {
|
|
60
|
+
const result = canExecutePlanWith(status);
|
|
61
|
+
expect(typeof result.allowed).toBe('boolean');
|
|
62
|
+
if (!result.allowed) {
|
|
63
|
+
expect(result.reason).toBeDefined();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe('formatStatusBlockMessage', () => {
|
|
69
|
+
const specId = 'spec:test:v1';
|
|
70
|
+
const constraintId = 'constraint:test:v1';
|
|
71
|
+
describe('draft status messages', () => {
|
|
72
|
+
it('formats create message for draft spec', () => {
|
|
73
|
+
const message = formatStatusBlockMessage(specId, 'draft', 'create');
|
|
74
|
+
expect(message).toContain(specId);
|
|
75
|
+
expect(message).toContain('draft');
|
|
76
|
+
expect(message).toContain('active');
|
|
77
|
+
});
|
|
78
|
+
it('formats execute message for draft source', () => {
|
|
79
|
+
const message = formatStatusBlockMessage(specId, 'draft', 'execute');
|
|
80
|
+
expect(message).toContain(specId);
|
|
81
|
+
expect(message).toContain('draft');
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
describe('deprecated status messages', () => {
|
|
85
|
+
it('formats create message for deprecated spec', () => {
|
|
86
|
+
const message = formatStatusBlockMessage(specId, 'deprecated', 'create');
|
|
87
|
+
expect(message).toContain(specId);
|
|
88
|
+
expect(message).toContain('deprecated');
|
|
89
|
+
expect(message).toContain('new plans');
|
|
90
|
+
});
|
|
91
|
+
it('formats execute message for deprecated source', () => {
|
|
92
|
+
const message = formatStatusBlockMessage(specId, 'deprecated', 'execute');
|
|
93
|
+
expect(message).toContain(specId);
|
|
94
|
+
expect(message).toContain('deprecated');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
describe('archived status messages', () => {
|
|
98
|
+
it('formats create message for archived spec', () => {
|
|
99
|
+
const message = formatStatusBlockMessage(specId, 'archived', 'create');
|
|
100
|
+
expect(message).toContain(specId);
|
|
101
|
+
expect(message).toContain('archived');
|
|
102
|
+
expect(message).toContain('read-only');
|
|
103
|
+
});
|
|
104
|
+
it('formats execute message for archived source', () => {
|
|
105
|
+
const message = formatStatusBlockMessage(constraintId, 'archived', 'execute');
|
|
106
|
+
expect(message).toContain(constraintId);
|
|
107
|
+
expect(message).toContain('archived');
|
|
108
|
+
expect(message).toContain('read-only');
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
it('works with constraint IDs', () => {
|
|
112
|
+
const message = formatStatusBlockMessage(constraintId, 'draft', 'create');
|
|
113
|
+
expect(message).toContain(constraintId);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
describe('status enforcement behavior matrix', () => {
|
|
117
|
+
// This test documents the expected behavior matrix from the spec
|
|
118
|
+
it('draft: blocks create, blocks execute', () => {
|
|
119
|
+
expect(canCreatePlanFrom('draft').allowed).toBe(false);
|
|
120
|
+
expect(canExecutePlanWith('draft').allowed).toBe(false);
|
|
121
|
+
});
|
|
122
|
+
it('active: allows create, allows execute', () => {
|
|
123
|
+
expect(canCreatePlanFrom('active').allowed).toBe(true);
|
|
124
|
+
expect(canExecutePlanWith('active').allowed).toBe(true);
|
|
125
|
+
});
|
|
126
|
+
it('deprecated: blocks create, allows execute (existing plans)', () => {
|
|
127
|
+
expect(canCreatePlanFrom('deprecated').allowed).toBe(false);
|
|
128
|
+
expect(canExecutePlanWith('deprecated').allowed).toBe(true);
|
|
129
|
+
});
|
|
130
|
+
it('archived: blocks create, blocks execute', () => {
|
|
131
|
+
expect(canCreatePlanFrom('archived').allowed).toBe(false);
|
|
132
|
+
expect(canExecutePlanWith('archived').allowed).toBe(false);
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=status.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.test.js","sourceRoot":"","sources":["../src/status.test.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -10,6 +10,14 @@ import { IntentGraph } from './graph.js';
|
|
|
10
10
|
import type { EntityId, Hash, StepId, Timestamp, TraceId } from './types.js';
|
|
11
11
|
/** Root directory name for prov metadata */
|
|
12
12
|
export declare const PROV_DIR = ".prov";
|
|
13
|
+
/** Root directory name for prov artifacts (specs, constraints, plans) */
|
|
14
|
+
export declare const PROV_ARTIFACTS_DIR = "prov";
|
|
15
|
+
/** Specs directory name (under PROV_ARTIFACTS_DIR) */
|
|
16
|
+
export declare const SPECS_DIR = "specs";
|
|
17
|
+
/** Constraints directory name (under PROV_ARTIFACTS_DIR) */
|
|
18
|
+
export declare const CONSTRAINTS_DIR = "constraints";
|
|
19
|
+
/** Plans directory name (under PROV_ARTIFACTS_DIR) */
|
|
20
|
+
export declare const PLANS_DIR = "plans";
|
|
13
21
|
/** Intent graph file name */
|
|
14
22
|
export declare const GRAPH_FILE = "graph.json";
|
|
15
23
|
/** Mappings directory name */
|
|
@@ -112,6 +120,22 @@ export declare function getCacheDir(projectRoot?: string): string;
|
|
|
112
120
|
* Get the lock file path.
|
|
113
121
|
*/
|
|
114
122
|
export declare function getLockPath(projectRoot?: string): string;
|
|
123
|
+
/**
|
|
124
|
+
* Get the prov artifacts directory path (contains specs, constraints, plans).
|
|
125
|
+
*/
|
|
126
|
+
export declare function getProvArtifactsDir(projectRoot?: string): string;
|
|
127
|
+
/**
|
|
128
|
+
* Get the specs directory path.
|
|
129
|
+
*/
|
|
130
|
+
export declare function getSpecsDir(projectRoot?: string): string;
|
|
131
|
+
/**
|
|
132
|
+
* Get the constraints directory path.
|
|
133
|
+
*/
|
|
134
|
+
export declare function getConstraintsDir(projectRoot?: string): string;
|
|
135
|
+
/**
|
|
136
|
+
* Get the plans directory path.
|
|
137
|
+
*/
|
|
138
|
+
export declare function getPlansDir(projectRoot?: string): string;
|
|
115
139
|
/**
|
|
116
140
|
* Get the mapping file path for a source file.
|
|
117
141
|
*
|
|
@@ -130,8 +154,13 @@ export declare function isInitialized(projectRoot?: string): boolean;
|
|
|
130
154
|
* - .prov/
|
|
131
155
|
* - .prov/mappings/
|
|
132
156
|
* - .prov/cache/
|
|
157
|
+
* - prov/
|
|
158
|
+
* - prov/specs/
|
|
159
|
+
* - prov/constraints/
|
|
160
|
+
* - prov/plans/
|
|
133
161
|
*
|
|
134
162
|
* @see req:storage:directory-structure
|
|
163
|
+
* @see req:prov-folder-structure:init-creates-folders
|
|
135
164
|
*/
|
|
136
165
|
export declare function initialize(projectRoot?: string): StorageResult<void>;
|
|
137
166
|
/**
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -15,6 +15,14 @@ import { parseYaml, toYaml, sha256 } from './hash.js';
|
|
|
15
15
|
// ============================================================================
|
|
16
16
|
/** Root directory name for prov metadata */
|
|
17
17
|
export const PROV_DIR = '.prov';
|
|
18
|
+
/** Root directory name for prov artifacts (specs, constraints, plans) */
|
|
19
|
+
export const PROV_ARTIFACTS_DIR = 'prov';
|
|
20
|
+
/** Specs directory name (under PROV_ARTIFACTS_DIR) */
|
|
21
|
+
export const SPECS_DIR = 'specs';
|
|
22
|
+
/** Constraints directory name (under PROV_ARTIFACTS_DIR) */
|
|
23
|
+
export const CONSTRAINTS_DIR = 'constraints';
|
|
24
|
+
/** Plans directory name (under PROV_ARTIFACTS_DIR) */
|
|
25
|
+
export const PLANS_DIR = 'plans';
|
|
18
26
|
/** Intent graph file name */
|
|
19
27
|
export const GRAPH_FILE = 'graph.json';
|
|
20
28
|
/** Mappings directory name */
|
|
@@ -60,6 +68,30 @@ export function getCacheDir(projectRoot = process.cwd()) {
|
|
|
60
68
|
export function getLockPath(projectRoot = process.cwd()) {
|
|
61
69
|
return join(getProvDir(projectRoot), LOCK_FILE);
|
|
62
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the prov artifacts directory path (contains specs, constraints, plans).
|
|
73
|
+
*/
|
|
74
|
+
export function getProvArtifactsDir(projectRoot = process.cwd()) {
|
|
75
|
+
return join(projectRoot, PROV_ARTIFACTS_DIR);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the specs directory path.
|
|
79
|
+
*/
|
|
80
|
+
export function getSpecsDir(projectRoot = process.cwd()) {
|
|
81
|
+
return join(getProvArtifactsDir(projectRoot), SPECS_DIR);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the constraints directory path.
|
|
85
|
+
*/
|
|
86
|
+
export function getConstraintsDir(projectRoot = process.cwd()) {
|
|
87
|
+
return join(getProvArtifactsDir(projectRoot), CONSTRAINTS_DIR);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get the plans directory path.
|
|
91
|
+
*/
|
|
92
|
+
export function getPlansDir(projectRoot = process.cwd()) {
|
|
93
|
+
return join(getProvArtifactsDir(projectRoot), PLANS_DIR);
|
|
94
|
+
}
|
|
63
95
|
/**
|
|
64
96
|
* Get the mapping file path for a source file.
|
|
65
97
|
*
|
|
@@ -90,22 +122,31 @@ export function isInitialized(projectRoot = process.cwd()) {
|
|
|
90
122
|
* - .prov/
|
|
91
123
|
* - .prov/mappings/
|
|
92
124
|
* - .prov/cache/
|
|
125
|
+
* - prov/
|
|
126
|
+
* - prov/specs/
|
|
127
|
+
* - prov/constraints/
|
|
128
|
+
* - prov/plans/
|
|
93
129
|
*
|
|
94
130
|
* @see req:storage:directory-structure
|
|
131
|
+
* @see req:prov-folder-structure:init-creates-folders
|
|
95
132
|
*/
|
|
96
133
|
export function initialize(projectRoot = process.cwd()) {
|
|
97
134
|
try {
|
|
98
135
|
const provDir = getProvDir(projectRoot);
|
|
99
|
-
|
|
100
|
-
|
|
136
|
+
const alreadyInitialized = existsSync(provDir);
|
|
137
|
+
// Create .prov/ directory structure (metadata storage)
|
|
138
|
+
if (!alreadyInitialized) {
|
|
139
|
+
mkdirSync(provDir, { recursive: true });
|
|
140
|
+
mkdirSync(getMappingsDir(projectRoot), { recursive: true });
|
|
141
|
+
mkdirSync(getCacheDir(projectRoot), { recursive: true });
|
|
142
|
+
// Create .gitignore for cache
|
|
143
|
+
const gitignorePath = join(getCacheDir(projectRoot), '.gitignore');
|
|
144
|
+
writeFileSync(gitignorePath, '*\n!.gitignore\n');
|
|
101
145
|
}
|
|
102
|
-
// Create
|
|
103
|
-
mkdirSync(
|
|
104
|
-
mkdirSync(
|
|
105
|
-
mkdirSync(
|
|
106
|
-
// Create .gitignore for cache
|
|
107
|
-
const gitignorePath = join(getCacheDir(projectRoot), '.gitignore');
|
|
108
|
-
writeFileSync(gitignorePath, '*\n!.gitignore\n');
|
|
146
|
+
// Create prov/ artifact directories (specs, constraints, plans)
|
|
147
|
+
mkdirSync(getSpecsDir(projectRoot), { recursive: true });
|
|
148
|
+
mkdirSync(getConstraintsDir(projectRoot), { recursive: true });
|
|
149
|
+
mkdirSync(getPlansDir(projectRoot), { recursive: true });
|
|
109
150
|
return { success: true };
|
|
110
151
|
}
|
|
111
152
|
catch (error) {
|