@rapidhuman/graph-common 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/chunking/index.d.ts +3 -0
  2. package/dist/chunking/index.d.ts.map +1 -0
  3. package/dist/chunking/index.js +19 -0
  4. package/dist/chunking/index.js.map +1 -0
  5. package/dist/chunking/pipeline.d.ts +30 -0
  6. package/dist/chunking/pipeline.d.ts.map +1 -0
  7. package/dist/chunking/pipeline.js +194 -0
  8. package/dist/chunking/pipeline.js.map +1 -0
  9. package/dist/chunking/types.d.ts +101 -0
  10. package/dist/chunking/types.d.ts.map +1 -0
  11. package/dist/chunking/types.js +3 -0
  12. package/dist/chunking/types.js.map +1 -0
  13. package/dist/events/index.d.ts +4 -0
  14. package/dist/events/index.d.ts.map +1 -0
  15. package/dist/events/index.js +20 -0
  16. package/dist/events/index.js.map +1 -0
  17. package/dist/events/publisher.d.ts +36 -0
  18. package/dist/events/publisher.d.ts.map +1 -0
  19. package/dist/events/publisher.js +50 -0
  20. package/dist/events/publisher.js.map +1 -0
  21. package/dist/events/topics.d.ts +7 -0
  22. package/dist/events/topics.d.ts.map +1 -0
  23. package/dist/events/topics.js +10 -0
  24. package/dist/events/topics.js.map +1 -0
  25. package/dist/events/types.d.ts +49 -0
  26. package/dist/events/types.d.ts.map +1 -0
  27. package/dist/events/types.js +3 -0
  28. package/dist/events/types.js.map +1 -0
  29. package/dist/index.d.ts +6 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +22 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/relationships/helpers.d.ts +23 -0
  34. package/dist/relationships/helpers.d.ts.map +1 -0
  35. package/dist/relationships/helpers.js +54 -0
  36. package/dist/relationships/helpers.js.map +1 -0
  37. package/dist/relationships/index.d.ts +3 -0
  38. package/dist/relationships/index.d.ts.map +1 -0
  39. package/dist/relationships/index.js +19 -0
  40. package/dist/relationships/index.js.map +1 -0
  41. package/dist/relationships/types.d.ts +53 -0
  42. package/dist/relationships/types.d.ts.map +1 -0
  43. package/dist/relationships/types.js +50 -0
  44. package/dist/relationships/types.js.map +1 -0
  45. package/dist/schema/index.d.ts +2 -0
  46. package/dist/schema/index.d.ts.map +1 -0
  47. package/dist/schema/index.js +18 -0
  48. package/dist/schema/index.js.map +1 -0
  49. package/dist/schema/types.d.ts +152 -0
  50. package/dist/schema/types.d.ts.map +1 -0
  51. package/dist/schema/types.js +3 -0
  52. package/dist/schema/types.js.map +1 -0
  53. package/dist/uri/index.d.ts +3 -0
  54. package/dist/uri/index.d.ts.map +1 -0
  55. package/dist/uri/index.js +19 -0
  56. package/dist/uri/index.js.map +1 -0
  57. package/dist/uri/types.d.ts +31 -0
  58. package/dist/uri/types.d.ts.map +1 -0
  59. package/dist/uri/types.js +6 -0
  60. package/dist/uri/types.js.map +1 -0
  61. package/dist/uri/uri.d.ts +45 -0
  62. package/dist/uri/uri.d.ts.map +1 -0
  63. package/dist/uri/uri.js +136 -0
  64. package/dist/uri/uri.js.map +1 -0
  65. package/package.json +43 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,kDAAgC;AAChC,2CAAyB;AACzB,6CAA2B"}
@@ -0,0 +1,23 @@
1
+ import { CrossSolutionRelationship, InternalEdgeType, RelationshipDirection } from './types';
2
+ /**
3
+ * Type guard that checks if a string is a valid CrossSolutionRelationship.
4
+ *
5
+ * @param type - String to check
6
+ * @returns True if the string is a valid CrossSolutionRelationship
7
+ */
8
+ export declare function isValidRelationship(type: string): type is CrossSolutionRelationship;
9
+ /**
10
+ * Type guard that checks if a string is a valid InternalEdgeType.
11
+ *
12
+ * @param type - String to check
13
+ * @returns True if the string is a valid InternalEdgeType
14
+ */
15
+ export declare function isValidInternalEdge(type: string): type is InternalEdgeType;
16
+ /**
17
+ * Returns the source and target solution codes for a cross-solution relationship.
18
+ *
19
+ * @param rel - Cross-solution relationship type
20
+ * @returns RelationshipDirection with source and target solution codes
21
+ */
22
+ export declare function getRelationshipDirection(rel: CrossSolutionRelationship): RelationshipDirection;
23
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/relationships/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAwB7F;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,yBAAyB,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,yBAAyB,GAAG,qBAAqB,CAE9F"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidRelationship = isValidRelationship;
4
+ exports.isValidInternalEdge = isValidInternalEdge;
5
+ exports.getRelationshipDirection = getRelationshipDirection;
6
+ const types_1 = require("./types");
7
+ /** Map of cross-solution relationships to their source → target solution directions */
8
+ const RELATIONSHIP_DIRECTIONS = {
9
+ [types_1.CrossSolutionRelationship.INFORMED]: { source: 'ideation', target: 'req' },
10
+ [types_1.CrossSolutionRelationship.CONSTRAINED_BY]: { source: 'req', target: 'arch' },
11
+ [types_1.CrossSolutionRelationship.SPECIFIED_BY]: { source: 'req', target: 'spec' },
12
+ [types_1.CrossSolutionRelationship.ARCHITECTED_BY]: { source: 'arch', target: 'spec' },
13
+ [types_1.CrossSolutionRelationship.IMPLEMENTED_BY]: { source: 'spec', target: 'platform' },
14
+ [types_1.CrossSolutionRelationship.TESTED_BY]: { source: 'spec', target: 'platform' },
15
+ [types_1.CrossSolutionRelationship.TRANSFORMATION_INFORMED]: { source: 'transformation', target: 'req' },
16
+ [types_1.CrossSolutionRelationship.INTEL_INFORMED]: { source: 'intel', target: 'ideation' },
17
+ [types_1.CrossSolutionRelationship.INTEL_TRANSFORMATION_INFORMED]: { source: 'intel', target: 'transformation' },
18
+ [types_1.CrossSolutionRelationship.INTEL_REQ_INFORMED]: { source: 'intel', target: 'req' },
19
+ [types_1.CrossSolutionRelationship.INTEL_ARCH_INFORMED]: { source: 'intel', target: 'arch' },
20
+ [types_1.CrossSolutionRelationship.CODED_BY]: { source: 'spec', target: 'code' },
21
+ [types_1.CrossSolutionRelationship.CODE_TESTS]: { source: 'code', target: 'code' },
22
+ [types_1.CrossSolutionRelationship.CODE_DERIVED_FROM]: { source: 'arch', target: 'code' },
23
+ [types_1.CrossSolutionRelationship.CODE_SATISFIES]: { source: 'req', target: 'code' },
24
+ };
25
+ const CROSS_SOLUTION_VALUES = new Set(Object.values(types_1.CrossSolutionRelationship));
26
+ const INTERNAL_EDGE_VALUES = new Set(Object.values(types_1.InternalEdgeType));
27
+ /**
28
+ * Type guard that checks if a string is a valid CrossSolutionRelationship.
29
+ *
30
+ * @param type - String to check
31
+ * @returns True if the string is a valid CrossSolutionRelationship
32
+ */
33
+ function isValidRelationship(type) {
34
+ return CROSS_SOLUTION_VALUES.has(type);
35
+ }
36
+ /**
37
+ * Type guard that checks if a string is a valid InternalEdgeType.
38
+ *
39
+ * @param type - String to check
40
+ * @returns True if the string is a valid InternalEdgeType
41
+ */
42
+ function isValidInternalEdge(type) {
43
+ return INTERNAL_EDGE_VALUES.has(type);
44
+ }
45
+ /**
46
+ * Returns the source and target solution codes for a cross-solution relationship.
47
+ *
48
+ * @param rel - Cross-solution relationship type
49
+ * @returns RelationshipDirection with source and target solution codes
50
+ */
51
+ function getRelationshipDirection(rel) {
52
+ return RELATIONSHIP_DIRECTIONS[rel];
53
+ }
54
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/relationships/helpers.ts"],"names":[],"mappings":";;AA8BA,kDAEC;AAQD,kDAEC;AAQD,4DAEC;AApDD,mCAA6F;AAE7F,uFAAuF;AACvF,MAAM,uBAAuB,GAA6D;IACxF,CAAC,iCAAyB,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;IAC3E,CAAC,iCAAyB,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IAC7E,CAAC,iCAAyB,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3E,CAAC,iCAAyB,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC9E,CAAC,iCAAyB,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;IAClF,CAAC,iCAAyB,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;IAC7E,CAAC,iCAAyB,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE;IAChG,CAAC,iCAAyB,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE;IACnF,CAAC,iCAAyB,CAAC,6BAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxG,CAAC,iCAAyB,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IAClF,CAAC,iCAAyB,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;IACpF,CAAC,iCAAyB,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IACxE,CAAC,iCAAyB,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC1E,CAAC,iCAAyB,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IACjF,CAAC,iCAAyB,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;CAC9E,CAAC;AAEF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iCAAyB,CAAC,CAAC,CAAC;AACxF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,GAA8B;IACrE,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './types';
2
+ export * from './helpers';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relationships/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ __exportStar(require("./helpers"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/relationships/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B"}
@@ -0,0 +1,53 @@
1
+ import { SolutionCode } from '../uri/types';
2
+ /** Cross-solution relationship types linking artifacts across the pipeline */
3
+ export declare enum CrossSolutionRelationship {
4
+ /** Thinking artifact informed a requirement (Ideation → Req) */
5
+ INFORMED = "INFORMED",
6
+ /** Requirement constrains architecture (Req → Arch) */
7
+ CONSTRAINED_BY = "CONSTRAINED_BY",
8
+ /** Requirement detailed in a spec (Req → Spec) */
9
+ SPECIFIED_BY = "SPECIFIED_BY",
10
+ /** Architecture decision shapes a spec (Arch → Spec) */
11
+ ARCHITECTED_BY = "ARCHITECTED_BY",
12
+ /** Spec implemented in generated code (Spec → Platform) */
13
+ IMPLEMENTED_BY = "IMPLEMENTED_BY",
14
+ /** Spec validated by a test suite (Spec → Platform) */
15
+ TESTED_BY = "TESTED_BY",
16
+ /** Transformation artifact informed a requirement (Transformation → Req) */
17
+ TRANSFORMATION_INFORMED = "TRANSFORMATION_INFORMED",
18
+ /** Intelligence entity informed an ideation artifact (Intel → Ideation) */
19
+ INTEL_INFORMED = "INTEL_INFORMED",
20
+ /** Intelligence entity informed a transformation artifact (Intel → Transformation) */
21
+ INTEL_TRANSFORMATION_INFORMED = "INTEL_TRANSFORMATION_INFORMED",
22
+ /** Intelligence entity informed a requirement (Intel → Req) */
23
+ INTEL_REQ_INFORMED = "INTEL_REQ_INFORMED",
24
+ /** Intelligence entity informed an architecture artifact (Intel → Arch) */
25
+ INTEL_ARCH_INFORMED = "INTEL_ARCH_INFORMED",
26
+ /** Spec implemented by generated code (Spec → Code) */
27
+ CODED_BY = "CODED_BY",
28
+ /** Code artifact tests another code artifact (Code → Code) */
29
+ CODE_TESTS = "CODE_TESTS",
30
+ /** Code module derived from architecture component (Arch → Code) */
31
+ CODE_DERIVED_FROM = "CODE_DERIVED_FROM",
32
+ /** Code artifact satisfies a requirement (Req → Code) */
33
+ CODE_SATISFIES = "CODE_SATISFIES"
34
+ }
35
+ /** Internal edge types within a solution-local graph */
36
+ export declare enum InternalEdgeType {
37
+ /** Intra-solution dependency between artifacts */
38
+ DEPENDS_ON = "DEPENDS_ON",
39
+ /** Links artifact to its vector embedding chunks */
40
+ HAS_EMBEDDING = "HAS_EMBEDDING",
41
+ /** Version history chain for an artifact */
42
+ HAS_VERSION = "HAS_VERSION",
43
+ /** Parent-child containment (e.g., Feature → Screen) */
44
+ CONTAINS = "CONTAINS"
45
+ }
46
+ /** Direction of a cross-solution relationship expressed as source and target solution codes */
47
+ export interface RelationshipDirection {
48
+ /** Solution code of the source artifact */
49
+ source: SolutionCode;
50
+ /** Solution code of the target artifact */
51
+ target: SolutionCode;
52
+ }
53
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/relationships/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,8EAA8E;AAC9E,oBAAY,yBAAyB;IACnC,gEAAgE;IAChE,QAAQ,aAAa;IACrB,uDAAuD;IACvD,cAAc,mBAAmB;IACjC,kDAAkD;IAClD,YAAY,iBAAiB;IAC7B,wDAAwD;IACxD,cAAc,mBAAmB;IACjC,2DAA2D;IAC3D,cAAc,mBAAmB;IACjC,uDAAuD;IACvD,SAAS,cAAc;IACvB,4EAA4E;IAC5E,uBAAuB,4BAA4B;IACnD,2EAA2E;IAC3E,cAAc,mBAAmB;IACjC,sFAAsF;IACtF,6BAA6B,kCAAkC;IAC/D,+DAA+D;IAC/D,kBAAkB,uBAAuB;IACzC,2EAA2E;IAC3E,mBAAmB,wBAAwB;IAC3C,uDAAuD;IACvD,QAAQ,aAAa;IACrB,8DAA8D;IAC9D,UAAU,eAAe;IACzB,oEAAoE;IACpE,iBAAiB,sBAAsB;IACvC,yDAAyD;IACzD,cAAc,mBAAmB;CAClC;AAED,wDAAwD;AACxD,oBAAY,gBAAgB;IAC1B,kDAAkD;IAClD,UAAU,eAAe;IACzB,oDAAoD;IACpD,aAAa,kBAAkB;IAC/B,4CAA4C;IAC5C,WAAW,gBAAgB;IAC3B,wDAAwD;IACxD,QAAQ,aAAa;CACtB;AAED,+FAA+F;AAC/F,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,MAAM,EAAE,YAAY,CAAC;IACrB,2CAA2C;IAC3C,MAAM,EAAE,YAAY,CAAC;CACtB"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalEdgeType = exports.CrossSolutionRelationship = void 0;
4
+ /** Cross-solution relationship types linking artifacts across the pipeline */
5
+ var CrossSolutionRelationship;
6
+ (function (CrossSolutionRelationship) {
7
+ /** Thinking artifact informed a requirement (Ideation → Req) */
8
+ CrossSolutionRelationship["INFORMED"] = "INFORMED";
9
+ /** Requirement constrains architecture (Req → Arch) */
10
+ CrossSolutionRelationship["CONSTRAINED_BY"] = "CONSTRAINED_BY";
11
+ /** Requirement detailed in a spec (Req → Spec) */
12
+ CrossSolutionRelationship["SPECIFIED_BY"] = "SPECIFIED_BY";
13
+ /** Architecture decision shapes a spec (Arch → Spec) */
14
+ CrossSolutionRelationship["ARCHITECTED_BY"] = "ARCHITECTED_BY";
15
+ /** Spec implemented in generated code (Spec → Platform) */
16
+ CrossSolutionRelationship["IMPLEMENTED_BY"] = "IMPLEMENTED_BY";
17
+ /** Spec validated by a test suite (Spec → Platform) */
18
+ CrossSolutionRelationship["TESTED_BY"] = "TESTED_BY";
19
+ /** Transformation artifact informed a requirement (Transformation → Req) */
20
+ CrossSolutionRelationship["TRANSFORMATION_INFORMED"] = "TRANSFORMATION_INFORMED";
21
+ /** Intelligence entity informed an ideation artifact (Intel → Ideation) */
22
+ CrossSolutionRelationship["INTEL_INFORMED"] = "INTEL_INFORMED";
23
+ /** Intelligence entity informed a transformation artifact (Intel → Transformation) */
24
+ CrossSolutionRelationship["INTEL_TRANSFORMATION_INFORMED"] = "INTEL_TRANSFORMATION_INFORMED";
25
+ /** Intelligence entity informed a requirement (Intel → Req) */
26
+ CrossSolutionRelationship["INTEL_REQ_INFORMED"] = "INTEL_REQ_INFORMED";
27
+ /** Intelligence entity informed an architecture artifact (Intel → Arch) */
28
+ CrossSolutionRelationship["INTEL_ARCH_INFORMED"] = "INTEL_ARCH_INFORMED";
29
+ /** Spec implemented by generated code (Spec → Code) */
30
+ CrossSolutionRelationship["CODED_BY"] = "CODED_BY";
31
+ /** Code artifact tests another code artifact (Code → Code) */
32
+ CrossSolutionRelationship["CODE_TESTS"] = "CODE_TESTS";
33
+ /** Code module derived from architecture component (Arch → Code) */
34
+ CrossSolutionRelationship["CODE_DERIVED_FROM"] = "CODE_DERIVED_FROM";
35
+ /** Code artifact satisfies a requirement (Req → Code) */
36
+ CrossSolutionRelationship["CODE_SATISFIES"] = "CODE_SATISFIES";
37
+ })(CrossSolutionRelationship || (exports.CrossSolutionRelationship = CrossSolutionRelationship = {}));
38
+ /** Internal edge types within a solution-local graph */
39
+ var InternalEdgeType;
40
+ (function (InternalEdgeType) {
41
+ /** Intra-solution dependency between artifacts */
42
+ InternalEdgeType["DEPENDS_ON"] = "DEPENDS_ON";
43
+ /** Links artifact to its vector embedding chunks */
44
+ InternalEdgeType["HAS_EMBEDDING"] = "HAS_EMBEDDING";
45
+ /** Version history chain for an artifact */
46
+ InternalEdgeType["HAS_VERSION"] = "HAS_VERSION";
47
+ /** Parent-child containment (e.g., Feature → Screen) */
48
+ InternalEdgeType["CONTAINS"] = "CONTAINS";
49
+ })(InternalEdgeType || (exports.InternalEdgeType = InternalEdgeType = {}));
50
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/relationships/types.ts"],"names":[],"mappings":";;;AAEA,8EAA8E;AAC9E,IAAY,yBA+BX;AA/BD,WAAY,yBAAyB;IACnC,gEAAgE;IAChE,kDAAqB,CAAA;IACrB,uDAAuD;IACvD,8DAAiC,CAAA;IACjC,kDAAkD;IAClD,0DAA6B,CAAA;IAC7B,wDAAwD;IACxD,8DAAiC,CAAA;IACjC,2DAA2D;IAC3D,8DAAiC,CAAA;IACjC,uDAAuD;IACvD,oDAAuB,CAAA;IACvB,4EAA4E;IAC5E,gFAAmD,CAAA;IACnD,2EAA2E;IAC3E,8DAAiC,CAAA;IACjC,sFAAsF;IACtF,4FAA+D,CAAA;IAC/D,+DAA+D;IAC/D,sEAAyC,CAAA;IACzC,2EAA2E;IAC3E,wEAA2C,CAAA;IAC3C,uDAAuD;IACvD,kDAAqB,CAAA;IACrB,8DAA8D;IAC9D,sDAAyB,CAAA;IACzB,oEAAoE;IACpE,oEAAuC,CAAA;IACvC,yDAAyD;IACzD,8DAAiC,CAAA;AACnC,CAAC,EA/BW,yBAAyB,yCAAzB,yBAAyB,QA+BpC;AAED,wDAAwD;AACxD,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,kDAAkD;IAClD,6CAAyB,CAAA;IACzB,oDAAoD;IACpD,mDAA+B,CAAA;IAC/B,4CAA4C;IAC5C,+CAA2B,CAAA;IAC3B,wDAAwD;IACxD,yCAAqB,CAAA;AACvB,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -0,0 +1,152 @@
1
+ import { ArtifactUri } from '../uri/types';
2
+ /**
3
+ * Artifact node in a solution-local Spanner graph.
4
+ * Represents any solution-specific artifact (persona, user story, spec, etc.).
5
+ * Maps to the `artifacts` Spanner table.
6
+ */
7
+ export interface ArtifactNode {
8
+ /** Globally unique artifact URI (primary key) */
9
+ uri: ArtifactUri;
10
+ /** Solution-specific artifact type (e.g., "persona", "user-story") */
11
+ type: string;
12
+ /** Human-readable artifact name */
13
+ name: string;
14
+ /** Full artifact content as JSON */
15
+ content: Record<string, unknown> | null;
16
+ /** SHA-256 hash of content for change detection */
17
+ content_hash: string;
18
+ /** Solution code (ideation, req, arch, spec, platform) */
19
+ solution: string;
20
+ /** Project identifier */
21
+ project_id: string;
22
+ /** Timestamp of artifact creation */
23
+ created_at: Date;
24
+ /** Timestamp of last update */
25
+ updated_at: Date;
26
+ /** Additional metadata as JSON */
27
+ metadata: Record<string, unknown> | null;
28
+ }
29
+ /**
30
+ * Embedding node in a solution-local Spanner graph.
31
+ * Stores a vector embedding chunk of an artifact's content.
32
+ * Maps to the `embeddings` Spanner table.
33
+ */
34
+ export interface EmbeddingNode {
35
+ /** Unique chunk identifier (primary key) */
36
+ chunk_id: string;
37
+ /** URI of the parent artifact this chunk belongs to */
38
+ parent_uri: ArtifactUri;
39
+ /** Vector embedding as an array of floats */
40
+ vector: number[];
41
+ /** Embedding model used (e.g., "textembedding-gecko@latest") */
42
+ model: string;
43
+ /** Zero-based index of this chunk within the parent artifact */
44
+ chunk_index: number;
45
+ /** Total number of chunks for the parent artifact */
46
+ total_chunks: number;
47
+ /** Content type of the chunk (e.g., "interview_transcript") */
48
+ content_type: string | null;
49
+ /** Human-readable label for the section this chunk covers */
50
+ section_label: string | null;
51
+ /** Number of tokens in this chunk */
52
+ token_count: number | null;
53
+ /** Number of overlapping tokens with adjacent chunks (default 50) */
54
+ overlap_tokens: number;
55
+ /** Timestamp of chunk creation */
56
+ created_at: Date;
57
+ }
58
+ /**
59
+ * Version node in a solution-local Spanner graph.
60
+ * Stores a point-in-time snapshot of an artifact.
61
+ * Maps to the `versions` Spanner table.
62
+ */
63
+ export interface VersionNode {
64
+ /** Unique version identifier (primary key) */
65
+ version_id: string;
66
+ /** URI of the artifact this version belongs to */
67
+ artifact_uri: ArtifactUri;
68
+ /** Monotonically increasing version number */
69
+ version_number: number;
70
+ /** SHA-256 hash of the content at this version */
71
+ content_hash: string;
72
+ /** Full content snapshot as JSON */
73
+ content_snapshot: Record<string, unknown> | null;
74
+ /** Timestamp of version creation */
75
+ created_at: Date;
76
+ /** User or system that created this version */
77
+ created_by: string | null;
78
+ }
79
+ /**
80
+ * Internal edge within a solution-local Spanner graph.
81
+ * Represents relationships between artifacts within the same solution.
82
+ * Maps to the `artifact_edges` Spanner table.
83
+ */
84
+ export interface ArtifactEdge {
85
+ /** Unique edge identifier (primary key) */
86
+ edge_id: string;
87
+ /** URI of the source artifact */
88
+ source_uri: ArtifactUri;
89
+ /** URI of the target artifact */
90
+ target_uri: ArtifactUri;
91
+ /** Edge type (DEPENDS_ON, HAS_EMBEDDING, HAS_VERSION, CONTAINS) */
92
+ edge_type: string;
93
+ /** Additional metadata as JSON */
94
+ metadata: Record<string, unknown> | null;
95
+ /** Timestamp of edge creation */
96
+ created_at: Date;
97
+ }
98
+ /**
99
+ * Cross-solution traceability edge in the Traceability Index.
100
+ * Links artifacts across different solutions in the pipeline.
101
+ * Maps to the `traceability_edges` Spanner table.
102
+ */
103
+ export interface TraceabilityEdge {
104
+ /** Unique edge identifier (primary key) */
105
+ edge_id: string;
106
+ /** URI of the source artifact */
107
+ source_uri: ArtifactUri;
108
+ /** Cross-solution relationship type */
109
+ relationship: string;
110
+ /** URI of the target artifact */
111
+ target_uri: ArtifactUri;
112
+ /** Solution code of the source artifact */
113
+ source_solution: string;
114
+ /** Solution code of the target artifact */
115
+ target_solution: string;
116
+ /** Project identifier */
117
+ project_id: string;
118
+ /** Timestamp of edge creation */
119
+ created_at: Date;
120
+ /** Timestamp of last update */
121
+ updated_at: Date;
122
+ /** Additional metadata as JSON */
123
+ metadata: Record<string, unknown> | null;
124
+ }
125
+ /**
126
+ * Change request record for the Rapid Change feature.
127
+ * Tracks bidirectional sync proposals between requirements and code.
128
+ * Maps to the `change_requests` Spanner table.
129
+ */
130
+ export interface ChangeRequest {
131
+ /** Unique change request identifier (primary key) */
132
+ change_request_id: string;
133
+ /** URI of the artifact where the change originated */
134
+ origin_uri: ArtifactUri;
135
+ /** Solution code where the change originated */
136
+ origin_solution: string;
137
+ /** Direction of change propagation */
138
+ direction: 'forward' | 'backward';
139
+ /** Current status of the change request */
140
+ status: 'pending' | 'approved' | 'rejected' | 'applied';
141
+ /** URIs of all artifacts affected by this change */
142
+ affected_uris: string[];
143
+ /** Proposed changes as JSON */
144
+ proposed_changes: Record<string, unknown> | null;
145
+ /** Timestamp of change request creation */
146
+ created_at: Date;
147
+ /** Timestamp when the request was resolved */
148
+ resolved_at: Date | null;
149
+ /** User or system that resolved the request */
150
+ resolved_by: string | null;
151
+ }
152
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './types';
2
+ export * from './uri';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/uri/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ __exportStar(require("./uri"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/uri/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,wCAAsB"}
@@ -0,0 +1,31 @@
1
+ /** Short project identifier (e.g., "acme") */
2
+ export type ProjectId = string;
3
+ /** Solution code identifying which pipeline stage owns an artifact */
4
+ export type SolutionCode = 'intel' | 'ideation' | 'transformation' | 'req' | 'arch' | 'spec' | 'code' | 'platform';
5
+ /** All valid solution codes for runtime validation */
6
+ export declare const SOLUTION_CODES: readonly SolutionCode[];
7
+ /** Solution-specific artifact type (e.g., "persona", "user-story", "brd") */
8
+ export type ArtifactType = string;
9
+ /** Branded string type for compile-time URI safety with zero runtime cost */
10
+ export type ArtifactUri = string & {
11
+ readonly __brand: 'ArtifactUri';
12
+ };
13
+ /** Result of parsing an ArtifactUri into its component parts */
14
+ export interface ParsedUri {
15
+ /** Short project identifier */
16
+ projectId: ProjectId;
17
+ /** Solution code (ideation, transformation, req, arch, spec, code, platform) */
18
+ solution: SolutionCode;
19
+ /** Solution-specific artifact type */
20
+ artifactType: ArtifactType;
21
+ /** Unique identifier within the solution */
22
+ id: string;
23
+ }
24
+ /** Result of non-throwing URI validation */
25
+ export interface ValidationResult {
26
+ /** Whether the URI is valid */
27
+ valid: boolean;
28
+ /** Descriptive error message if invalid */
29
+ error?: string;
30
+ }
31
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/uri/types.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,sEAAsE;AACtE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEnH,sDAAsD;AACtD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAgG,CAAC;AAEnJ,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC;AAEvE,gEAAgE;AAChE,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,QAAQ,EAAE,YAAY,CAAC;IACvB,sCAAsC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SOLUTION_CODES = void 0;
4
+ /** All valid solution codes for runtime validation */
5
+ exports.SOLUTION_CODES = ['intel', 'ideation', 'transformation', 'req', 'arch', 'spec', 'code', 'platform'];
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/uri/types.ts"],"names":[],"mappings":";;;AAMA,sDAAsD;AACzC,QAAA,cAAc,GAA4B,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { ArtifactUri, ArtifactType, ParsedUri, ProjectId, SolutionCode, ValidationResult } from './types';
2
+ /**
3
+ * Creates a validated ArtifactUri from its component parts.
4
+ *
5
+ * @param projectId - Short project identifier (e.g., "acme")
6
+ * @param solution - Solution code (ideation, transformation, req, arch, spec, code, platform)
7
+ * @param artifactType - Artifact type (e.g., "persona", "user-story")
8
+ * @param id - Unique identifier within the solution
9
+ * @returns Branded ArtifactUri string
10
+ * @throws Error if any input is invalid
11
+ */
12
+ export declare function createUri(projectId: ProjectId, solution: SolutionCode, artifactType: ArtifactType, id: string): ArtifactUri;
13
+ /**
14
+ * Parses an ArtifactUri string into its component parts.
15
+ *
16
+ * @param uri - URI string to parse
17
+ * @returns ParsedUri with projectId, solution, artifactType, and id
18
+ * @throws Error if the URI does not match the expected format
19
+ */
20
+ export declare function parseUri(uri: string): ParsedUri;
21
+ /**
22
+ * Validates a URI string without throwing. Returns a result object
23
+ * indicating whether the URI is valid, with a descriptive error if not.
24
+ *
25
+ * @param uri - URI string to validate
26
+ * @returns ValidationResult with valid boolean and optional error message
27
+ */
28
+ export declare function validateUri(uri: string): ValidationResult;
29
+ /**
30
+ * Extracts the solution code from a URI string.
31
+ *
32
+ * @param uri - URI string to extract from
33
+ * @returns SolutionCode
34
+ * @throws Error if the URI is invalid
35
+ */
36
+ export declare function extractSolution(uri: string): SolutionCode;
37
+ /**
38
+ * Extracts the artifact type from a URI string.
39
+ *
40
+ * @param uri - URI string to extract from
41
+ * @returns ArtifactType
42
+ * @throws Error if the URI is invalid
43
+ */
44
+ export declare function extractArtifactType(uri: string): ArtifactType;
45
+ //# sourceMappingURL=uri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../src/uri/uri.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EAEZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAYjB;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,GACT,WAAW,CA0Bb;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAe/C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAuDzD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE7D"}