@happyvertical/smrt-projects 0.57.19 → 0.57.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/AGENTS.md +3 -0
  2. package/README.md +68 -0
  3. package/dist/collections/DevelopmentRequests.d.ts.map +1 -1
  4. package/dist/collections/ProjectDecisions.d.ts +9 -0
  5. package/dist/collections/ProjectDecisions.d.ts.map +1 -0
  6. package/dist/collections/ProjectGovernanceEvents.d.ts +11 -0
  7. package/dist/collections/ProjectGovernanceEvents.d.ts.map +1 -0
  8. package/dist/collections/ProjectQuestions.d.ts +9 -0
  9. package/dist/collections/ProjectQuestions.d.ts.map +1 -0
  10. package/dist/collections/ProjectSpecifications.d.ts +8 -0
  11. package/dist/collections/ProjectSpecifications.d.ts.map +1 -0
  12. package/dist/collections/index.d.ts +4 -0
  13. package/dist/collections/index.d.ts.map +1 -1
  14. package/dist/index.d.ts +11 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1120 -51
  17. package/dist/index.js.map +1 -1
  18. package/dist/manifest.json +4604 -2323
  19. package/dist/models/DevelopmentRequest.d.ts +2 -2
  20. package/dist/models/DevelopmentRequest.d.ts.map +1 -1
  21. package/dist/models/ProjectDecision.d.ts +39 -0
  22. package/dist/models/ProjectDecision.d.ts.map +1 -0
  23. package/dist/models/ProjectGovernanceEvent.d.ts +40 -0
  24. package/dist/models/ProjectGovernanceEvent.d.ts.map +1 -0
  25. package/dist/models/ProjectQuestion.d.ts +32 -0
  26. package/dist/models/ProjectQuestion.d.ts.map +1 -0
  27. package/dist/models/ProjectSpecification.d.ts +26 -0
  28. package/dist/models/ProjectSpecification.d.ts.map +1 -0
  29. package/dist/models/index.d.ts +4 -0
  30. package/dist/models/index.d.ts.map +1 -1
  31. package/dist/models/project-governance-validation.d.ts +6 -0
  32. package/dist/models/project-governance-validation.d.ts.map +1 -0
  33. package/dist/project-governance-types.d.ts +49 -0
  34. package/dist/project-governance-types.d.ts.map +1 -0
  35. package/dist/services/development-request-service.d.ts.map +1 -1
  36. package/dist/services/index.d.ts +3 -0
  37. package/dist/services/index.d.ts.map +1 -1
  38. package/dist/services/participant-development-request-service.d.ts +34 -0
  39. package/dist/services/participant-development-request-service.d.ts.map +1 -0
  40. package/dist/services/project-governance-service.d.ts +106 -0
  41. package/dist/services/project-governance-service.d.ts.map +1 -0
  42. package/dist/services/project-specification-service.d.ts +30 -0
  43. package/dist/services/project-specification-service.d.ts.map +1 -0
  44. package/dist/smrt-knowledge.json +915 -49
  45. package/dist/svelte/ProjectQuestionsAndDecisions.svelte +183 -0
  46. package/dist/svelte/ProjectQuestionsAndDecisions.svelte.d.ts +17 -0
  47. package/dist/svelte/ProjectQuestionsAndDecisions.svelte.d.ts.map +1 -0
  48. package/dist/svelte/i18n.d.ts +16 -0
  49. package/dist/svelte/i18n.d.ts.map +1 -1
  50. package/dist/svelte/i18n.js +16 -0
  51. package/dist/svelte/index.d.ts +4 -1
  52. package/dist/svelte/index.d.ts.map +1 -1
  53. package/dist/svelte/index.js +3 -1
  54. package/dist/svelte/project-governance-types.d.ts +35 -0
  55. package/dist/svelte/project-governance-types.d.ts.map +1 -0
  56. package/dist/svelte/project-governance-types.js +1 -0
  57. package/package.json +14 -13
@@ -3,7 +3,7 @@ import type { DevelopmentRequestEvidence, DevelopmentRequestOrigin, DevelopmentR
3
3
  export interface DevelopmentRequestOptions extends SmrtObjectOptions {
4
4
  tenantId?: string;
5
5
  projectId?: string;
6
- integrationId?: string;
6
+ integrationId?: string | null;
7
7
  requesterId?: string;
8
8
  participantId?: string;
9
9
  type?: DevelopmentRequestType;
@@ -17,7 +17,7 @@ export interface DevelopmentRequestOptions extends SmrtObjectOptions {
17
17
  export declare class DevelopmentRequest extends SmrtObject {
18
18
  tenantId: string;
19
19
  projectId: string;
20
- integrationId: string;
20
+ integrationId: string | null;
21
21
  requesterId: string;
22
22
  participantId: string;
23
23
  type: DevelopmentRequestType;
@@ -1 +1 @@
1
- {"version":3,"file":"DevelopmentRequest.d.ts","sourceRoot":"","sources":["../../src/models/DevelopmentRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,aAAU,CAAC;AAElB,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,GAAG,MAAM,CAAC;IACjD,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAuCD,qBASa,kBAAmB,SAAQ,UAAU;IAEhD,QAAQ,EAAE,MAAM,CAAM;IAEtB,SAAS,EAAE,MAAM,CAAM;IAGvB,aAAa,EAAE,MAAM,CAAM;IAE3B,WAAW,EAAE,MAAM,CAAM;IAEzB,aAAa,EAAE,MAAM,CAAM;IAE3B,IAAI,EAAE,sBAAsB,CAAa;IAEzC,WAAW,EAAE,MAAM,CAAM;IAEzB,QAAQ,EAAE,MAAM,CAAQ;IAExB,UAAU,EAAE,4BAA4B,CAAe;IAEvD,MAAM,EAAE,wBAAwB,CAAiB;IAEjD,UAAU,EAAE,MAAM,CAAM;IAExB,MAAM,EAAE,wBAAwB,CAAe;gBAEnC,OAAO,GAAE,yBAA8B;IAoB7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjD,WAAW,IAAI,0BAA0B,EAAE;IAI3C,WAAW,CAAC,KAAK,EAAE,0BAA0B,EAAE,GAAG,MAAM,GAAG,IAAI;CAIhE"}
1
+ {"version":3,"file":"DevelopmentRequest.d.ts","sourceRoot":"","sources":["../../src/models/DevelopmentRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,aAAU,CAAC;AAElB,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,GAAG,MAAM,CAAC;IACjD,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAuCD,qBASa,kBAAmB,SAAQ,UAAU;IAEhD,QAAQ,EAAE,MAAM,CAAM;IAEtB,SAAS,EAAE,MAAM,CAAM;IAIvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpC,WAAW,EAAE,MAAM,CAAM;IAEzB,aAAa,EAAE,MAAM,CAAM;IAE3B,IAAI,EAAE,sBAAsB,CAAa;IAEzC,WAAW,EAAE,MAAM,CAAM;IAEzB,QAAQ,EAAE,MAAM,CAAQ;IAExB,UAAU,EAAE,4BAA4B,CAAe;IAEvD,MAAM,EAAE,wBAAwB,CAAiB;IAEjD,UAAU,EAAE,MAAM,CAAM;IAExB,MAAM,EAAE,wBAAwB,CAAe;gBAEnC,OAAO,GAAE,yBAA8B;IAoB7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjD,WAAW,IAAI,0BAA0B,EAAE;IAI3C,WAAW,CAAC,KAAK,EAAE,0BAA0B,EAAE,GAAG,MAAM,GAAG,IAAI;CAIhE"}
@@ -0,0 +1,39 @@
1
+ import { SmrtPolymorphicAssociation, type SmrtPolymorphicAssociationOptions } from '@happyvertical/smrt-core';
2
+ import type { ProjectContextReference, ProjectDecisionOption, ProjectDecisionStatus, ProjectGovernanceActorType, ProjectGovernanceVisibility } from '../project-governance-types.js';
3
+ export interface ProjectDecisionOptions extends SmrtPolymorphicAssociationOptions {
4
+ tenantId?: string;
5
+ visibility?: ProjectGovernanceVisibility;
6
+ question?: string;
7
+ decisionOptions?: ProjectDecisionOption[] | string;
8
+ outcome?: string;
9
+ rationale?: string;
10
+ status?: ProjectDecisionStatus;
11
+ ownerType?: ProjectGovernanceActorType | '';
12
+ ownerId?: string;
13
+ contextReferences?: ProjectContextReference[] | string;
14
+ revision?: number;
15
+ decidedAt?: Date | null;
16
+ }
17
+ export declare class ProjectDecision extends SmrtPolymorphicAssociation {
18
+ tenantId: string;
19
+ question: string;
20
+ /** JSON array; use getOptions()/setOptions(). */
21
+ decisionOptions: string;
22
+ outcome: string;
23
+ rationale: string;
24
+ status: ProjectDecisionStatus;
25
+ ownerType: ProjectGovernanceActorType | '';
26
+ ownerId: string;
27
+ visibility: ProjectGovernanceVisibility;
28
+ /** JSON array; use getContextReferences()/setContextReferences(). */
29
+ contextReferences: string;
30
+ revision: number;
31
+ decidedAt: Date | null;
32
+ constructor(options?: ProjectDecisionOptions);
33
+ getOptions(): ProjectDecisionOption[];
34
+ setOptions(value: ProjectDecisionOption[]): void;
35
+ getContextReferences(): ProjectContextReference[];
36
+ setContextReferences(value: ProjectContextReference[]): void;
37
+ protected validateBeforeSave(): Promise<void>;
38
+ }
39
+ //# sourceMappingURL=ProjectDecision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectDecision.d.ts","sourceRoot":"","sources":["../../src/models/ProjectDecision.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAC1B,KAAK,iCAAiC,EAEvC,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,gCAAgC,CAAC;AAQxC,MAAM,WAAW,sBACf,SAAQ,iCAAiC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,0BAA0B,GAAG,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,qBAiBa,eAAgB,SAAQ,0BAA0B;IAE7D,QAAQ,SAAM;IAGd,QAAQ,SAAM;IAEd,iDAAiD;IACjD,eAAe,SAAQ;IAEvB,OAAO,SAAM;IAEb,SAAS,SAAM;IAGf,MAAM,EAAE,qBAAqB,CAAU;IAEvC,SAAS,EAAE,0BAA0B,GAAG,EAAE,CAAM;IAEhD,OAAO,SAAM;IAEb,UAAU,EAAE,2BAA2B,CAAc;IAErD,qEAAqE;IACrE,iBAAiB,SAAQ;IAEzB,QAAQ,SAAK;IAGb,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;gBAElB,OAAO,GAAE,sBAA2B;IAwBhD,UAAU,IAAI,qBAAqB,EAAE;IAIrC,UAAU,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAIhD,oBAAoB,IAAI,uBAAuB,EAAE;IAIjD,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,EAAE,GAAG,IAAI;cAInC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC7D"}
@@ -0,0 +1,40 @@
1
+ import { SmrtPolymorphicAssociation, type SmrtPolymorphicAssociationOptions } from '@happyvertical/smrt-core';
2
+ import type { ProjectGovernanceAction, ProjectGovernanceActorType, ProjectGovernanceRecordKind } from '../project-governance-types.js';
3
+ export interface ProjectGovernanceEventOptions extends SmrtPolymorphicAssociationOptions {
4
+ tenantId?: string;
5
+ recordKind?: ProjectGovernanceRecordKind;
6
+ action?: ProjectGovernanceAction;
7
+ actorType?: ProjectGovernanceActorType;
8
+ actorId?: string;
9
+ fromStatus?: string;
10
+ toStatus?: string;
11
+ note?: string;
12
+ value?: string;
13
+ rationale?: string;
14
+ revision?: number;
15
+ fromOwnerType?: ProjectGovernanceActorType | '';
16
+ fromOwnerId?: string;
17
+ toOwnerType?: ProjectGovernanceActorType | '';
18
+ toOwnerId?: string;
19
+ }
20
+ export declare class ProjectGovernanceEvent extends SmrtPolymorphicAssociation {
21
+ tenantId: string;
22
+ recordKind: ProjectGovernanceRecordKind;
23
+ action: ProjectGovernanceAction;
24
+ actorType: ProjectGovernanceActorType;
25
+ actorId: string;
26
+ fromStatus: string;
27
+ toStatus: string;
28
+ note: string;
29
+ value: string;
30
+ rationale: string;
31
+ revision: number;
32
+ fromOwnerType: ProjectGovernanceActorType | '';
33
+ fromOwnerId: string;
34
+ toOwnerType: ProjectGovernanceActorType | '';
35
+ toOwnerId: string;
36
+ constructor(options?: ProjectGovernanceEventOptions);
37
+ beforeDelete(): Promise<void>;
38
+ protected validateBeforeSave(): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=ProjectGovernanceEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectGovernanceEvent.d.ts","sourceRoot":"","sources":["../../src/models/ProjectGovernanceEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAC1B,KAAK,iCAAiC,EAEvC,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,6BACf,SAAQ,iCAAiC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,0BAA0B,GAAG,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,0BAA0B,GAAG,EAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAca,sBAAuB,SAAQ,0BAA0B;IAEpE,QAAQ,SAAM;IAGd,UAAU,EAAE,2BAA2B,CAAc;IAGrD,MAAM,EAAE,uBAAuB,CAAa;IAG5C,SAAS,EAAE,0BAA0B,CAAY;IAGjD,OAAO,SAAM;IAEb,UAAU,SAAM;IAGhB,QAAQ,SAAU;IAElB,IAAI,SAAM;IAEV,KAAK,SAAM;IAEX,SAAS,SAAM;IAEf,QAAQ,SAAK;IAEb,aAAa,EAAE,0BAA0B,GAAG,EAAE,CAAM;IACpD,WAAW,SAAM;IACjB,WAAW,EAAE,0BAA0B,GAAG,EAAE,CAAM;IAClD,SAAS,SAAM;gBAEH,OAAO,GAAE,6BAAkC;IAsBjD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAIV,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAY7D"}
@@ -0,0 +1,32 @@
1
+ import { SmrtPolymorphicAssociation, type SmrtPolymorphicAssociationOptions } from '@happyvertical/smrt-core';
2
+ import type { ProjectContextReference, ProjectGovernanceActorType, ProjectGovernanceVisibility, ProjectQuestionStatus } from '../project-governance-types.js';
3
+ export interface ProjectQuestionOptions extends SmrtPolymorphicAssociationOptions {
4
+ tenantId?: string;
5
+ visibility?: ProjectGovernanceVisibility;
6
+ prompt?: string;
7
+ answer?: string;
8
+ status?: ProjectQuestionStatus;
9
+ ownerType?: ProjectGovernanceActorType | '';
10
+ ownerId?: string;
11
+ contextReferences?: ProjectContextReference[] | string;
12
+ revision?: number;
13
+ answeredAt?: Date | null;
14
+ }
15
+ export declare class ProjectQuestion extends SmrtPolymorphicAssociation {
16
+ tenantId: string;
17
+ prompt: string;
18
+ answer: string;
19
+ status: ProjectQuestionStatus;
20
+ ownerType: ProjectGovernanceActorType | '';
21
+ ownerId: string;
22
+ visibility: ProjectGovernanceVisibility;
23
+ /** JSON array; use getContextReferences()/setContextReferences(). */
24
+ contextReferences: string;
25
+ revision: number;
26
+ answeredAt: Date | null;
27
+ constructor(options?: ProjectQuestionOptions);
28
+ getContextReferences(): ProjectContextReference[];
29
+ setContextReferences(value: ProjectContextReference[]): void;
30
+ protected validateBeforeSave(): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=ProjectQuestion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectQuestion.d.ts","sourceRoot":"","sources":["../../src/models/ProjectQuestion.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAC1B,KAAK,iCAAiC,EAEvC,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAMxC,MAAM,WAAW,sBACf,SAAQ,iCAAiC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,0BAA0B,GAAG,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED,qBAiBa,eAAgB,SAAQ,0BAA0B;IAE7D,QAAQ,SAAM;IAGd,MAAM,SAAM;IAEZ,MAAM,SAAM;IAGZ,MAAM,EAAE,qBAAqB,CAAU;IAEvC,SAAS,EAAE,0BAA0B,GAAG,EAAE,CAAM;IAEhD,OAAO,SAAM;IAEb,UAAU,EAAE,2BAA2B,CAAc;IAErD,qEAAqE;IACrE,iBAAiB,SAAQ;IAEzB,QAAQ,SAAK;IAGb,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;gBAEnB,OAAO,GAAE,sBAA2B;IAkBhD,oBAAoB,IAAI,uBAAuB,EAAE;IAIjD,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,EAAE,GAAG,IAAI;cAInC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B7D"}
@@ -0,0 +1,26 @@
1
+ import { SmrtPolymorphicAssociation, type SmrtPolymorphicAssociationOptions } from '@happyvertical/smrt-core';
2
+ import type { Cookbook } from '@happyvertical/smrt-types';
3
+ export interface ProjectSpecificationOptions extends SmrtPolymorphicAssociationOptions {
4
+ tenantId?: string;
5
+ title?: string;
6
+ summary?: string;
7
+ cookbook?: string;
8
+ revision?: number;
9
+ actorType?: string;
10
+ actorId?: string;
11
+ }
12
+ /** Canonical project requirements and their portable application cookbook. */
13
+ export declare class ProjectSpecification extends SmrtPolymorphicAssociation {
14
+ tenantId: string;
15
+ title: string;
16
+ summary: string;
17
+ /** Canonical Cookbook v1 JSON; use getCookbook(). */
18
+ cookbook: string;
19
+ revision: number;
20
+ actorType: string;
21
+ actorId: string;
22
+ constructor(options?: ProjectSpecificationOptions);
23
+ getCookbook(): Cookbook;
24
+ protected validateBeforeSave(): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=ProjectSpecification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectSpecification.d.ts","sourceRoot":"","sources":["../../src/models/ProjectSpecification.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAC1B,KAAK,iCAAiC,EAEvC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,2BACf,SAAQ,iCAAiC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,qBAQa,oBAAqB,SAAQ,0BAA0B;IAElE,QAAQ,SAAM;IAEd,KAAK,SAAM;IACX,OAAO,SAAM;IACb,qDAAqD;IACrD,QAAQ,SAAQ;IAChB,QAAQ,SAAK;IACb,SAAS,SAAM;IACf,OAAO,SAAM;gBAED,OAAO,GAAE,2BAAgC;IAWrD,WAAW,IAAI,QAAQ;cAME,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB7D"}
@@ -8,8 +8,12 @@ export * from './delivery-control-plane.js';
8
8
  export { Issue, type IssueOptions } from "./Issue.js";
9
9
  export { Label, type LabelOptions } from "./Label.js";
10
10
  export { Project, type ProjectOptions } from "./Project.js";
11
+ export { ProjectDecision, type ProjectDecisionOptions, } from "./ProjectDecision.js";
12
+ export { ProjectGovernanceEvent, type ProjectGovernanceEventOptions, } from "./ProjectGovernanceEvent.js";
11
13
  export { ProjectIntegration, type ProjectIntegrationOptions, } from "./ProjectIntegration.js";
12
14
  export { ProjectIntegrationAudit, type ProjectIntegrationAuditOptions, } from "./ProjectIntegrationAudit.js";
15
+ export { ProjectQuestion, type ProjectQuestionOptions, } from "./ProjectQuestion.js";
16
+ export { ProjectSpecification, type ProjectSpecificationOptions, } from './ProjectSpecification.js';
13
17
  export { PullRequest, type PullRequestOptions } from "./PullRequest.js";
14
18
  export { Repository, type RepositoryOptions } from "./Repository.js";
15
19
  export * from './service-evidence.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAW,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,yBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,KAAK,gCAAgC,GACtC,MAAM,gCAA6B,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAW,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,yBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,8BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAe,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAc,CAAC;AAClE,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAW,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,yBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,KAAK,gCAAgC,GACtC,MAAM,gCAA6B,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAW,CAAC;AACzD,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,sBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,6BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,yBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,8BAA2B,CAAC;AACnC,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,sBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAe,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAc,CAAC;AAClE,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ProjectContextReference, ProjectDecisionOption } from '../project-governance-types.js';
2
+ export declare function parseContextReferences(value: string): ProjectContextReference[];
3
+ export declare function serializeContextReferences(value: readonly ProjectContextReference[]): string;
4
+ export declare function parseDecisionOptions(value: string): ProjectDecisionOption[];
5
+ export declare function serializeDecisionOptions(value: readonly ProjectDecisionOption[]): string;
6
+ //# sourceMappingURL=project-governance-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-governance-validation.d.ts","sourceRoot":"","sources":["../../src/models/project-governance-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAWxC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GACZ,uBAAuB,EAAE,CA2B3B;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,uBAAuB,EAAE,GACxC,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,EAAE,CA6B3E;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,qBAAqB,EAAE,GACtC,MAAM,CAER"}
@@ -0,0 +1,49 @@
1
+ export type ProjectQuestionStatus = 'open' | 'answered' | 'deferred' | 'superseded';
2
+ export type ProjectDecisionStatus = 'open' | 'decided' | 'deferred' | 'superseded';
3
+ export type ProjectGovernanceVisibility = 'internal' | 'client';
4
+ export type ProjectGovernanceActorType = 'user' | 'agent' | 'system';
5
+ export interface ProjectGovernanceActor {
6
+ type: ProjectGovernanceActorType;
7
+ id: string;
8
+ /** Trusted host authorization. Managers may create, assign, defer, and supersede. */
9
+ canManage?: boolean;
10
+ }
11
+ export interface ProjectGovernanceScope {
12
+ tenantId: string;
13
+ /** Qualified SMRT class name for the host project's record type. */
14
+ projectType: string;
15
+ projectId: string;
16
+ }
17
+ export type ProjectContextReferenceKind = 'spec' | 'cookbook' | 'conversation' | 'asset' | 'url' | 'other';
18
+ export interface ProjectContextReference {
19
+ kind: ProjectContextReferenceKind;
20
+ ref: string;
21
+ label?: string;
22
+ }
23
+ export interface ProjectGovernanceOwner {
24
+ type: ProjectGovernanceActorType;
25
+ id: string;
26
+ }
27
+ export interface ProjectQuestionCreateInput extends ProjectGovernanceScope {
28
+ prompt: string;
29
+ owner?: ProjectGovernanceOwner | null;
30
+ contextReferences?: ProjectContextReference[];
31
+ visibility?: ProjectGovernanceVisibility;
32
+ actor: ProjectGovernanceActor;
33
+ }
34
+ export interface ProjectDecisionOption {
35
+ id: string;
36
+ label: string;
37
+ description?: string;
38
+ }
39
+ export interface ProjectDecisionCreateInput extends ProjectGovernanceScope {
40
+ question: string;
41
+ options?: ProjectDecisionOption[];
42
+ owner?: ProjectGovernanceOwner | null;
43
+ contextReferences?: ProjectContextReference[];
44
+ visibility?: ProjectGovernanceVisibility;
45
+ actor: ProjectGovernanceActor;
46
+ }
47
+ export type ProjectGovernanceRecordKind = 'question' | 'decision';
48
+ export type ProjectGovernanceAction = 'created' | 'assigned' | 'answered' | 'decided' | 'deferred' | 'reopened' | 'superseded';
49
+ //# sourceMappingURL=project-governance-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-governance-types.d.ts","sourceRoot":"","sources":["../src/project-governance-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,UAAU,GACV,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,SAAS,GACT,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhE,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,0BAA0B,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN,UAAU,GACV,cAAc,GACd,OAAO,GACP,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,2BAA2B,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,0BAA0B,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC9C,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC9C,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,UAAU,CAAC;AAElE,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"development-request-service.d.ts","sourceRoot":"","sources":["../../src/services/development-request-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACrC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,eAAe,CAAC,CAAC,KAAK,EAAE;QACtB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,uEAAuE;QACvE,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,cAAc,GAAG,UAAU,CAAC,CAAC;CAC1D;AAED,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB;gBAF5B,QAAQ,EAAE,4BAA4B,EACtC,KAAK,EAAE,oCAAoC,EACnD,WAAW,CAAC,EAAE,sBAAsB,YAAA;WAGlC,MAAM,CACjB,OAAO,GAAE,gBAAqB,EAC9B,WAAW,CAAC,EAAE,sBAAsB,GACnC,OAAO,CAAC,yBAAyB,CAAC;IAQrC,gEAAgE;IAC1D,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAwBpE,QAAQ,CACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,0BAA0B,EAAE,CAAC;IASlC,MAAM,CACV,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE;QACL,QAAQ,EAAE,yBAAyB,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACvD,GACA,OAAO,CAAC;QACT,OAAO,EAAE,kBAAkB,CAAC;QAC5B,KAAK,EAAE,0BAA0B,EAAE,CAAC;QACpC,aAAa,EAAE,kBAAkB,EAAE,CAAC;KACrC,CAAC;IA8GI,cAAc,CAClB,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,kBAAkB,CAAC;YAgChB,UAAU;YAcV,QAAQ;CAgCvB"}
1
+ {"version":3,"file":"development-request-service.d.ts","sourceRoot":"","sources":["../../src/services/development-request-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACrC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG7D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,eAAe,CAAC,CAAC,KAAK,EAAE;QACtB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,uEAAuE;QACvE,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,cAAc,GAAG,UAAU,CAAC,CAAC;CAC1D;AAED,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB;gBAF5B,QAAQ,EAAE,4BAA4B,EACtC,KAAK,EAAE,oCAAoC,EACnD,WAAW,CAAC,EAAE,sBAAsB,YAAA;WAGlC,MAAM,CACjB,OAAO,GAAE,gBAAqB,EAC9B,WAAW,CAAC,EAAE,sBAAsB,GACnC,OAAO,CAAC,yBAAyB,CAAC;IAQrC,gEAAgE;IAC1D,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAwBpE,QAAQ,CACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,0BAA0B,EAAE,CAAC;IASlC,MAAM,CACV,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE;QACL,QAAQ,EAAE,yBAAyB,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACvD,GACA,OAAO,CAAC;QACT,OAAO,EAAE,kBAAkB,CAAC;QAC5B,KAAK,EAAE,0BAA0B,EAAE,CAAC;QACpC,aAAa,EAAE,kBAAkB,EAAE,CAAC;KACrC,CAAC;IAwII,cAAc,CAClB,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,kBAAkB,CAAC;YAgChB,UAAU;YAcV,QAAQ;CAgCvB"}
@@ -1,7 +1,10 @@
1
1
  export * from './assistance-request-service.js';
2
2
  export * from './delivery-service.js';
3
3
  export * from './development-request-service.js';
4
+ export * from './participant-development-request-service.js';
4
5
  export * from './project-board-service.js';
6
+ export * from './project-governance-service.js';
7
+ export * from './project-specification-service.js';
5
8
  export * from './service-evidence-service.js';
6
9
  export * from './subscription-commercial-resolver.js';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { SmrtClassOptions } from '@happyvertical/smrt-core';
2
+ import type { DevelopmentRequest } from '../models/DevelopmentRequest.js';
3
+ import type { DevelopmentRequestVisibility } from '../types.js';
4
+ export interface ParticipantDevelopmentRequestInput {
5
+ tenantId: string;
6
+ projectId: string;
7
+ /** Trusted identity supplied after the host authorizes project participation. */
8
+ requesterId: string;
9
+ requestKey: string;
10
+ type: 'bug' | 'feature' | 'task';
11
+ description: string;
12
+ visibility?: DevelopmentRequestVisibility;
13
+ }
14
+ export declare class ParticipantDevelopmentRequestConflictError extends Error {
15
+ constructor();
16
+ }
17
+ /** Human participant intake, separate from credential-authenticated managed ingress. */
18
+ export declare class ParticipantDevelopmentRequestService {
19
+ private readonly requests;
20
+ private constructor();
21
+ static create(options?: SmrtClassOptions): Promise<ParticipantDevelopmentRequestService>;
22
+ submit(input: ParticipantDevelopmentRequestInput): Promise<DevelopmentRequest>;
23
+ /** Trusted internal triage path; the host must authorize the supplied actor. */
24
+ splitFrom(parent: DevelopmentRequest, input: {
25
+ type: 'bug' | 'feature' | 'task';
26
+ description: string;
27
+ actorRef: string;
28
+ reason: string;
29
+ /** Duplicate occurrence within identical type/description parts, independent of list order. */
30
+ occurrence: number;
31
+ }): Promise<DevelopmentRequest>;
32
+ private persist;
33
+ }
34
+ //# sourceMappingURL=participant-development-request-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participant-development-request-service.d.ts","sourceRoot":"","sources":["../../src/services/participant-development-request-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAMjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C;AAED,qBAAa,0CAA2C,SAAQ,KAAK;;CAOpE;AAED,wFAAwF;AACxF,qBAAa,oCAAoC;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAD3B,OAAO;WAIM,MAAM,CACjB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,oCAAoC,CAAC;IAM1C,MAAM,CACV,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,kBAAkB,CAAC;IAW9B,gFAAgF;IAC1E,SAAS,CACb,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE;QACL,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,+FAA+F;QAC/F,UAAU,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,kBAAkB,CAAC;YA4ChB,OAAO;CAqHtB"}
@@ -0,0 +1,106 @@
1
+ import type { SmrtClassOptions } from '@happyvertical/smrt-core';
2
+ import { ProjectDecisionCollection } from '../collections/ProjectDecisions.js';
3
+ import { ProjectGovernanceEventCollection } from '../collections/ProjectGovernanceEvents.js';
4
+ import { ProjectQuestionCollection } from '../collections/ProjectQuestions.js';
5
+ import type { ProjectDecision } from '../models/ProjectDecision.js';
6
+ import type { ProjectQuestion } from '../models/ProjectQuestion.js';
7
+ import type { ProjectDecisionCreateInput, ProjectGovernanceActor, ProjectGovernanceOwner, ProjectGovernanceScope, ProjectGovernanceVisibility, ProjectQuestionCreateInput } from '../project-governance-types.js';
8
+ export declare class ProjectGovernanceConflictError extends Error {
9
+ constructor(message?: string);
10
+ }
11
+ export declare class ProjectGovernanceAuthorizationError extends Error {
12
+ constructor(message?: string);
13
+ }
14
+ export declare class ProjectGovernanceService {
15
+ private readonly questions;
16
+ private readonly decisions;
17
+ private readonly events;
18
+ constructor(questions: ProjectQuestionCollection, decisions: ProjectDecisionCollection, events: ProjectGovernanceEventCollection);
19
+ static create(options?: SmrtClassOptions): Promise<ProjectGovernanceService>;
20
+ listForProject(scope: ProjectGovernanceScope, options?: {
21
+ visibility?: ProjectGovernanceVisibility;
22
+ }): Promise<{
23
+ questions: ProjectQuestion[];
24
+ decisions: ProjectDecision[];
25
+ }>;
26
+ createQuestion(input: ProjectQuestionCreateInput): Promise<ProjectQuestion>;
27
+ createDecision(input: ProjectDecisionCreateInput): Promise<ProjectDecision>;
28
+ answerQuestion(input: ProjectGovernanceScope & {
29
+ questionId: string;
30
+ answer: string;
31
+ note?: string;
32
+ expectedRevision: number;
33
+ actor: ProjectGovernanceActor;
34
+ }): Promise<ProjectQuestion>;
35
+ decide(input: ProjectGovernanceScope & {
36
+ decisionId: string;
37
+ outcome: string;
38
+ rationale?: string;
39
+ note?: string;
40
+ expectedRevision: number;
41
+ actor: ProjectGovernanceActor;
42
+ }): Promise<ProjectDecision>;
43
+ assignQuestion(input: ProjectGovernanceScope & {
44
+ questionId: string;
45
+ owner: ProjectGovernanceOwner | null;
46
+ note?: string;
47
+ expectedRevision: number;
48
+ actor: ProjectGovernanceActor;
49
+ }): Promise<ProjectQuestion>;
50
+ assignDecision(input: ProjectGovernanceScope & {
51
+ decisionId: string;
52
+ owner: ProjectGovernanceOwner | null;
53
+ note?: string;
54
+ expectedRevision: number;
55
+ actor: ProjectGovernanceActor;
56
+ }): Promise<ProjectDecision>;
57
+ deferQuestion(input: ProjectGovernanceScope & {
58
+ questionId: string;
59
+ note: string;
60
+ expectedRevision: number;
61
+ actor: ProjectGovernanceActor;
62
+ }): Promise<ProjectQuestion>;
63
+ deferDecision(input: ProjectGovernanceScope & {
64
+ decisionId: string;
65
+ note: string;
66
+ expectedRevision: number;
67
+ actor: ProjectGovernanceActor;
68
+ }): Promise<ProjectDecision>;
69
+ reopenQuestion(input: ProjectGovernanceScope & {
70
+ questionId: string;
71
+ note?: string;
72
+ expectedRevision: number;
73
+ actor: ProjectGovernanceActor;
74
+ }): Promise<ProjectQuestion>;
75
+ reopenDecision(input: ProjectGovernanceScope & {
76
+ decisionId: string;
77
+ note?: string;
78
+ expectedRevision: number;
79
+ actor: ProjectGovernanceActor;
80
+ }): Promise<ProjectDecision>;
81
+ supersedeQuestion(input: ProjectGovernanceScope & {
82
+ questionId: string;
83
+ note: string;
84
+ expectedRevision: number;
85
+ actor: ProjectGovernanceActor;
86
+ }): Promise<ProjectQuestion>;
87
+ supersedeDecision(input: ProjectGovernanceScope & {
88
+ decisionId: string;
89
+ note: string;
90
+ expectedRevision: number;
91
+ actor: ProjectGovernanceActor;
92
+ }): Promise<ProjectDecision>;
93
+ historyForQuestion(input: ProjectGovernanceScope & {
94
+ questionId: string;
95
+ }): Promise<import("../index.js").ProjectGovernanceEvent[]>;
96
+ historyForDecision(input: ProjectGovernanceScope & {
97
+ decisionId: string;
98
+ }): Promise<import("../index.js").ProjectGovernanceEvent[]>;
99
+ private mutateQuestion;
100
+ private mutateDecision;
101
+ private lockQuestion;
102
+ private lockDecision;
103
+ private recordEvent;
104
+ private transaction;
105
+ }
106
+ //# sourceMappingURL=project-governance-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-governance-service.d.ts","sourceRoot":"","sources":["../../src/services/project-governance-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type SmrtClassOptions } from '@happyvertical/smrt-core';
2
+ import type { ProjectSpecification } from '../models/ProjectSpecification.js';
3
+ import type { ProjectGovernanceActor, ProjectGovernanceScope } from '../project-governance-types.js';
4
+ export declare class ProjectSpecificationValidationError extends TypeError {
5
+ readonly code = "INVALID_PROJECT_SPECIFICATION";
6
+ readonly status = 400;
7
+ }
8
+ export interface ProjectSpecificationSaveInput extends ProjectGovernanceScope {
9
+ /** null is create-only; an existing specification requires its current revision. */
10
+ expectedRevision: number | null;
11
+ actor: ProjectGovernanceActor;
12
+ title: string;
13
+ summary?: string;
14
+ /** Validated and canonicalized by smrt-core/cookbook before persistence. */
15
+ cookbook: unknown;
16
+ }
17
+ export interface ProjectSpecificationServiceOptions extends SmrtClassOptions {
18
+ /** Explicit caller-owned transaction executor; never pass an ordinary connection here. */
19
+ transaction?: 'caller';
20
+ }
21
+ /** Tenant/project isolation and optimistic writes for canonical specifications. */
22
+ export declare class ProjectSpecificationService {
23
+ private readonly collection;
24
+ private readonly callerTransaction;
25
+ private constructor();
26
+ static create(options?: ProjectSpecificationServiceOptions): Promise<ProjectSpecificationService>;
27
+ getForProject(scope: ProjectGovernanceScope): Promise<ProjectSpecification | null>;
28
+ saveForProject(input: ProjectSpecificationSaveInput): Promise<ProjectSpecification>;
29
+ }
30
+ //# sourceMappingURL=project-specification-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-specification-service.d.ts","sourceRoot":"","sources":["../../src/services/project-specification-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,gCAAgC,CAAC;AAMxC,qBAAa,mCAAoC,SAAQ,SAAS;IAChE,QAAQ,CAAC,IAAI,mCAAmC;IAChD,QAAQ,CAAC,MAAM,OAAO;CACvB;AAED,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,oFAAoF;IACpF,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kCAAmC,SAAQ,gBAAgB;IAC1E,0FAA0F;IAC1F,WAAW,CAAC,EAAE,QAAQ,CAAC;CACxB;AAED,mFAAmF;AACnF,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAFpC,OAAO;WAKM,MAAM,CACjB,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,2BAA2B,CAAC;IAOjC,aAAa,CACjB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAKjC,cAAc,CAClB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,oBAAoB,CAAC;CA6EjC"}