@metriport/fhir-sdk 2.0.0 → 2.0.1

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 (81) hide show
  1. package/dist/__tests__/contained-references.test.js +1 -1
  2. package/dist/__tests__/contained-references.test.js.map +1 -1
  3. package/dist/__tests__/date-range-performance.test.js.map +1 -1
  4. package/dist/__tests__/date-range-search.test.js.map +1 -1
  5. package/dist/__tests__/env-setup.js +17 -7
  6. package/dist/__tests__/env-setup.js.map +1 -1
  7. package/dist/__tests__/fhir-bundle-sdk.test.js +21 -13
  8. package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -1
  9. package/dist/__tests__/fixtures/fhir-bundles.d.ts +6 -0
  10. package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -1
  11. package/dist/__tests__/fixtures/fhir-bundles.js +106 -2
  12. package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -1
  13. package/dist/__tests__/keep-virtual-methods-invisible.test.d.ts +2 -0
  14. package/dist/__tests__/keep-virtual-methods-invisible.test.d.ts.map +1 -0
  15. package/dist/__tests__/keep-virtual-methods-invisible.test.js +62 -0
  16. package/dist/__tests__/keep-virtual-methods-invisible.test.js.map +1 -0
  17. package/dist/__tests__/phase3-verification.test.js.map +1 -1
  18. package/dist/__tests__/phase4-verification.test.js.map +1 -1
  19. package/dist/__tests__/phase5-verification.test.js.map +1 -1
  20. package/dist/__tests__/reverse-references.test.js.map +1 -1
  21. package/dist/__tests__/serialize-to-yaml.test.d.ts +2 -0
  22. package/dist/__tests__/serialize-to-yaml.test.d.ts.map +1 -0
  23. package/dist/__tests__/serialize-to-yaml.test.js +191 -0
  24. package/dist/__tests__/serialize-to-yaml.test.js.map +1 -0
  25. package/dist/clinical-dates.js +1 -2
  26. package/dist/clinical-dates.js.map +1 -1
  27. package/dist/fhir-bundle-sdk.d.ts.map +1 -1
  28. package/dist/fhir-bundle-sdk.js +1 -1
  29. package/dist/fhir-bundle-sdk.js.map +1 -1
  30. package/dist/internal/bundle-operations.js +3 -4
  31. package/dist/internal/bundle-operations.js.map +1 -1
  32. package/dist/internal/coding-systems.d.ts.map +1 -1
  33. package/dist/internal/coding-systems.js.map +1 -1
  34. package/dist/internal/coding-utilities.d.ts.map +1 -1
  35. package/dist/internal/coding-utilities.js +7 -51
  36. package/dist/internal/coding-utilities.js.map +1 -1
  37. package/dist/internal/date-extraction.js +2 -3
  38. package/dist/internal/date-extraction.js.map +1 -1
  39. package/dist/internal/graph-traversal.js +1 -2
  40. package/dist/internal/graph-traversal.js.map +1 -1
  41. package/dist/internal/indexing.js +3 -4
  42. package/dist/internal/indexing.js.map +1 -1
  43. package/dist/internal/llm-context.d.ts +5 -0
  44. package/dist/internal/llm-context.d.ts.map +1 -1
  45. package/dist/internal/llm-context.js +74 -12
  46. package/dist/internal/llm-context.js.map +1 -1
  47. package/dist/internal/reference-resolution.d.ts +3 -3
  48. package/dist/internal/reference-resolution.d.ts.map +1 -1
  49. package/dist/internal/reference-resolution.js +22 -42
  50. package/dist/internal/reference-resolution.js.map +1 -1
  51. package/dist/internal/reference-utils.d.ts +7 -2
  52. package/dist/internal/reference-utils.d.ts.map +1 -1
  53. package/dist/internal/reference-utils.js +32 -7
  54. package/dist/internal/reference-utils.js.map +1 -1
  55. package/dist/internal/serialize-to-yaml.d.ts +2 -0
  56. package/dist/internal/serialize-to-yaml.d.ts.map +1 -0
  57. package/dist/internal/serialize-to-yaml.js +93 -0
  58. package/dist/internal/serialize-to-yaml.js.map +1 -0
  59. package/dist/internal/transparent-proxy.js +1 -2
  60. package/dist/internal/transparent-proxy.js.map +1 -1
  61. package/dist/internal/validation.js +2 -3
  62. package/dist/internal/validation.js.map +1 -1
  63. package/dist/type-guards.js +52 -54
  64. package/dist/type-guards.js.map +1 -1
  65. package/dist/types/sdk-types.d.ts +3 -3
  66. package/dist/types/sdk-types.d.ts.map +1 -1
  67. package/dist/types/sdk-types.js +1 -2
  68. package/dist/types/sdk-types.js.map +1 -1
  69. package/dist/types/smart-resources.d.ts +13 -1
  70. package/dist/types/smart-resources.d.ts.map +1 -1
  71. package/dist/types/smart-resources.js +12 -6
  72. package/dist/types/smart-resources.js.map +1 -1
  73. package/dist/utils/interval-tree/index.d.ts.map +1 -1
  74. package/dist/utils/interval-tree/index.js.map +1 -1
  75. package/dist/utils/interval-tree/shallowequal/arrays.js +1 -1
  76. package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -1
  77. package/dist/utils/interval-tree/shallowequal/index.js +2 -2
  78. package/dist/utils/interval-tree/shallowequal/index.js.map +1 -1
  79. package/dist/utils/interval-tree/shallowequal/objects.js +1 -1
  80. package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -1
  81. package/package.json +11 -10
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildDateRangeIndex = exports.buildReverseReferenceIndex = exports.buildResourceIndexes = void 0;
3
+ exports.buildResourceIndexes = buildResourceIndexes;
4
+ exports.buildReverseReferenceIndex = buildReverseReferenceIndex;
5
+ exports.buildDateRangeIndex = buildDateRangeIndex;
4
6
  const reference_utils_1 = require("./reference-utils");
5
7
  const date_extraction_1 = require("./date-extraction");
6
8
  /**
@@ -38,7 +40,6 @@ function buildResourceIndexes(bundle, resourcesById, resourcesByFullUrl, resourc
38
40
  // Clear resolution stack after index building
39
41
  resolutionStack.clear();
40
42
  }
41
- exports.buildResourceIndexes = buildResourceIndexes;
42
43
  /**
43
44
  * Build reverse reference index for O(1) reverse lookup
44
45
  */
@@ -95,7 +96,6 @@ function buildReverseReferenceIndex(bundle, reverseReferencesById, resourcesByFu
95
96
  }
96
97
  }
97
98
  }
98
- exports.buildReverseReferenceIndex = buildReverseReferenceIndex;
99
99
  /**
100
100
  * Build date range index for O(log n + k) date range searches
101
101
  */
@@ -125,5 +125,4 @@ function buildDateRangeIndex(bundle, dateRangeIndex) {
125
125
  }
126
126
  }
127
127
  }
128
- exports.buildDateRangeIndex = buildDateRangeIndex;
129
128
  //# sourceMappingURL=indexing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexing.js","sourceRoot":"","sources":["../../src/internal/indexing.ts"],"names":[],"mappings":";;;AAIA,uDAI2B;AAC3B,uDAAqE;AAErE;;GAEG;AACH,SAAgB,oBAAoB,CAClC,MAAc,EACd,aAAoC,EACpC,kBAAyC,EACzC,eAAwC,EACxC,qBAAsD,EACtD,cAAqD,EACrD,eAA4B;IAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACjB,OAAO;KACR;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACnB,SAAS;SACV;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,oCAAoC;QACpC,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;SAC1C;QAED,gCAAgC;QAChC,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SACjD;QAED,mDAAmD;QACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACtC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;SACvC;QACD,oEAAoE;QACpE,eAAe,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnD;IAED,gCAAgC;IAChC,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;IAE9E,yBAAyB;IACzB,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE5C,8CAA8C;IAC9C,eAAe,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC;AA/CD,oDA+CC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CACxC,MAAc,EACd,qBAAsD,EACtD,kBAAyC;IAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACjB,OAAO;KACR;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACnB,SAAS;SACV;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC;QACnE,MAAM,UAAU,GAAG,IAAA,mCAAiB,EAAC,QAAQ,CAAC,CAAC;QAE/C,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,UAAU,EAAE;YAC7C,mCAAmC;YACnC,MAAM,QAAQ,GAAG,IAAA,8CAA4B,EAAC,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,EAAE;gBACb,SAAS;aACV;YAED,wEAAwE;YACxE,MAAM,UAAU,GAAqB;gBACnC,gBAAgB;gBAChB,kBAAkB,EAAE,QAAQ,CAAC,YAAY;gBACzC,cAAc,EAAE,IAAA,yCAAuB,EAAC,KAAK,CAAC;aAC/C,CAAC;YAEF,kFAAkF;YAClF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACxC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aACzC;YACD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,gFAAgF;YAChF,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACzC,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC1C;gBACD,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aACxD;YAED,4EAA4E;YAC5E,4EAA4E;YAC5E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC5B,4DAA4D;gBAC5D,gDAAgD;gBAChD,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzD,IACE,cAAc,EAAE,EAAE;oBAClB,cAAc,CAAC,EAAE,KAAK,QAAQ;oBAC9B,cAAc,CAAC,EAAE,KAAK,SAAS,EAC/B;oBACA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;wBACjD,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;qBAClD;oBACD,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBAChE;aACF;SACF;KACF;AACH,CAAC;AAjED,gEAiEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,MAAc,EACd,cAAqD;IAErD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACjB,OAAO;KACR;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE;YACzC,SAAS;SACV;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,aAAa,GAAG,IAAA,kDAAgC,EAAC,QAAQ,CAAC,CAAC;QAEjE,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;YACpC,IAAI;gBACF,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aACjC;YAAC,OAAO,KAAK,EAAE;gBACd,wCAAwC;gBACxC,OAAO,CAAC,IAAI,CACV,kCAAkC,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,gCAAgC,CACjG,CAAC;gBACF,cAAc,CAAC,MAAM,CAAC;oBACpB,GAAG,QAAQ;oBACX,GAAG,EAAE,QAAQ,CAAC,IAAI;oBAClB,IAAI,EAAE,QAAQ,CAAC,GAAG;iBACnB,CAAC,CAAC;aACJ;SACF;KACF;AACH,CAAC;AAhCD,kDAgCC"}
1
+ {"version":3,"file":"indexing.js","sourceRoot":"","sources":["../../src/internal/indexing.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ import { LLMContextOptions, WalkResult } from "../types/sdk-types";
8
8
  * Returns an immutable copy without mutating the original.
9
9
  */
10
10
  export declare function stripNonClinicalData<T extends Resource>(resource: T): T;
11
+ /**
12
+ * Format a Smart resource and its referenced resources as inline-nested YAML.
13
+ * Referenced resources are expanded directly within the parent resource up to maxDepth.
14
+ */
15
+ export declare function formatAsYaml<T extends Resource>(startResource: Smart<T>, maxDepth: number): string;
11
16
  /**
12
17
  * Group resources by their resource type
13
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/internal/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAA4B,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAuBnE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAkCvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAetF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA0C/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAqCxF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAc9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACnD,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,gBAAgB,EAAE,CAChB,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,OAAO,CAAA;CAAE,KACzD,UAAU,CAAC,CAAC,CAAC,GACjB,MAAM,CAqCR"}
1
+ {"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/internal/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAA4B,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAwBnE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAkCvE;AAsED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7C,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,MAAM,GACf,MAAM,CAGR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAetF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA0C/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAmCxF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAc9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACnD,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,gBAAgB,EAAE,CAChB,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,OAAO,CAAA;CAAE,KACzD,UAAU,CAAC,CAAC,CAAC,GACjB,MAAM,CAyCR"}
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateLLMContext = exports.formatAsJSON = exports.formatAsStructuredText = exports.formatResourceAsText = exports.groupResourcesByType = exports.stripNonClinicalData = void 0;
3
+ exports.stripNonClinicalData = stripNonClinicalData;
4
+ exports.formatAsYaml = formatAsYaml;
5
+ exports.groupResourcesByType = groupResourcesByType;
6
+ exports.formatResourceAsText = formatResourceAsText;
7
+ exports.formatAsStructuredText = formatAsStructuredText;
8
+ exports.formatAsJSON = formatAsJSON;
9
+ exports.generateLLMContext = generateLLMContext;
4
10
  const smart_resources_1 = require("../types/smart-resources");
11
+ const serialize_to_yaml_1 = require("./serialize-to-yaml");
5
12
  /**
6
13
  * Build a set of all reference field names from REFERENCE_METHOD_MAPPING.
7
14
  * Extracts base field names, handling nested paths (e.g., "participant.individual" -> "participant")
@@ -56,7 +63,66 @@ function stripNonClinicalData(resource) {
56
63
  }
57
64
  return deepCloneAndStrip(resource, resource.resourceType);
58
65
  }
59
- exports.stripNonClinicalData = stripNonClinicalData;
66
+ const NOISE_FIELDS = new Set(["meta", "extension", "modifierExtension", "text", "identifier"]);
67
+ /**
68
+ * Recursively build a nested plain object from a Smart resource, replacing top-level
69
+ * reference fields with the resolved resource data up to maxDepth.
70
+ * Nested reference paths (e.g. "participant.individual") are kept as raw Reference values.
71
+ * Cycle detection prevents infinite loops via a path-scoped visited set.
72
+ */
73
+ function buildNestedResource(smartResource, depth, maxDepth, visited) {
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
+ const plain = smartResource.toJSON();
76
+ const id = plain.id;
77
+ if (id && visited.has(id)) {
78
+ return { resourceType: plain.resourceType, id };
79
+ }
80
+ const nextVisited = new Set(visited);
81
+ if (id)
82
+ nextVisited.add(id);
83
+ const referenceMethods = smart_resources_1.REFERENCE_METHOD_MAPPING[plain.resourceType] ?? {};
84
+ const directRefFields = {};
85
+ for (const [methodName, fieldPath] of Object.entries(referenceMethods)) {
86
+ if (!fieldPath.includes(".")) {
87
+ directRefFields[fieldPath] = methodName;
88
+ }
89
+ }
90
+ const result = {};
91
+ for (const [key, value] of Object.entries(plain)) {
92
+ if (NOISE_FIELDS.has(key))
93
+ continue;
94
+ const methodName = directRefFields[key];
95
+ if (methodName !== undefined && depth < maxDepth) {
96
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
97
+ const resolved = smartResource[methodName]();
98
+ if (resolved !== undefined && resolved !== null) {
99
+ if (Array.isArray(resolved)) {
100
+ const inlined = resolved
101
+ .filter((r) => r !== undefined && r !== null)
102
+ .map(r => buildNestedResource(r, depth + 1, maxDepth, nextVisited));
103
+ if (inlined.length > 0) {
104
+ result[key] = inlined;
105
+ continue;
106
+ }
107
+ }
108
+ else {
109
+ result[key] = buildNestedResource(resolved, depth + 1, maxDepth, nextVisited);
110
+ continue;
111
+ }
112
+ }
113
+ }
114
+ result[key] = JSON.parse(JSON.stringify(value));
115
+ }
116
+ return result;
117
+ }
118
+ /**
119
+ * Format a Smart resource and its referenced resources as inline-nested YAML.
120
+ * Referenced resources are expanded directly within the parent resource up to maxDepth.
121
+ */
122
+ function formatAsYaml(startResource, maxDepth) {
123
+ const nested = buildNestedResource(startResource, 0, maxDepth, new Set());
124
+ return (0, serialize_to_yaml_1.serializeToYaml)(nested);
125
+ }
60
126
  /**
61
127
  * Group resources by their resource type
62
128
  */
@@ -74,7 +140,6 @@ function groupResourcesByType(resources) {
74
140
  }
75
141
  return grouped;
76
142
  }
77
- exports.groupResourcesByType = groupResourcesByType;
78
143
  /**
79
144
  * Format a single resource as readable text
80
145
  */
@@ -115,7 +180,6 @@ function formatResourceAsText(resource) {
115
180
  }
116
181
  return lines.join("\n");
117
182
  }
118
- exports.formatResourceAsText = formatResourceAsText;
119
183
  /**
120
184
  * Format resources as structured text for better LLM readability
121
185
  */
@@ -125,7 +189,6 @@ function formatAsStructuredText(resourcesByDepth) {
125
189
  const primaryResources = resourcesByDepth.get(0) ?? [];
126
190
  if (primaryResources.length > 0) {
127
191
  lines.push("PRIMARY RESOURCE:");
128
- lines.push("=".repeat(80));
129
192
  for (const resource of primaryResources) {
130
193
  lines.push(formatResourceAsText(resource));
131
194
  lines.push("");
@@ -137,11 +200,10 @@ function formatAsStructuredText(resourcesByDepth) {
137
200
  continue; // Already handled above
138
201
  const depthLabel = depth === 1 ? "DIRECTLY REFERENCED" : `INDIRECTLY REFERENCED (Depth ${depth})`;
139
202
  lines.push(`${depthLabel} RESOURCES:`);
140
- lines.push("=".repeat(80));
141
203
  // Group by resource type for better organization
142
204
  const groupedByType = groupResourcesByType(resources);
143
205
  for (const [resourceType, typeResources] of Object.entries(groupedByType)) {
144
- lines.push(`\n--- ${resourceType} (${typeResources.length}) ---\n`);
206
+ lines.push(`\n${resourceType} (${typeResources.length})\n`);
145
207
  for (const resource of typeResources) {
146
208
  lines.push(formatResourceAsText(resource));
147
209
  lines.push("");
@@ -150,7 +212,6 @@ function formatAsStructuredText(resourcesByDepth) {
150
212
  }
151
213
  return lines.join("\n");
152
214
  }
153
- exports.formatAsStructuredText = formatAsStructuredText;
154
215
  /**
155
216
  * Format resources as JSON with depth annotations
156
217
  */
@@ -167,7 +228,6 @@ function formatAsJSON(resourcesByDepth) {
167
228
  };
168
229
  return JSON.stringify(output, null, 2);
169
230
  }
170
- exports.formatAsJSON = formatAsJSON;
171
231
  /**
172
232
  * Generate LLM-friendly context from a starting resource and its related resources.
173
233
  * Uses BFS to discover related resources, strips non-clinical data, and formats output.
@@ -178,9 +238,12 @@ exports.formatAsJSON = formatAsJSON;
178
238
  * @returns Formatted string suitable for LLM context
179
239
  */
180
240
  function generateLLMContext(startResource, options, walkReferencesFn) {
181
- const maxDepth = options?.maxDepth ?? 2;
241
+ const maxDepth = options?.maxDepth ?? 1;
182
242
  const includeStartResource = options?.includeStartResource ?? true;
183
- const format = options?.format ?? "structured-text";
243
+ const format = options?.format ?? "yaml";
244
+ if (format === "yaml") {
245
+ return formatAsYaml(startResource, maxDepth);
246
+ }
184
247
  // Walk the reference graph
185
248
  const walkResult = walkReferencesFn(startResource, {
186
249
  maxDepth,
@@ -210,5 +273,4 @@ function generateLLMContext(startResource, options, walkReferencesFn) {
210
273
  return formatAsStructuredText(cleanedResourcesByDepth);
211
274
  }
212
275
  }
213
- exports.generateLLMContext = generateLLMContext;
214
276
  //# sourceMappingURL=llm-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/internal/llm-context.ts"],"names":[],"mappings":";;;AACA,8DAA2E;AAG3E;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,0CAAwB,CAAC,EAAE;QACrE,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YACtD,4CAA4C;YAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,SAAS,KAAK,SAAS,EAAE;gBAC3B,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACvB;SACF;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;AAElD;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAqB,QAAW;IAClE,SAAS,iBAAiB,CAAC,GAAY,EAAE,YAAqB;QAC5D,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;YACrC,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;SAC/D;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC9C,8DAA8D;gBAC9D,IACE,GAAG,KAAK,MAAM;oBACd,GAAG,KAAK,WAAW;oBACnB,GAAG,KAAK,mBAAmB;oBAC3B,GAAG,KAAK,MAAM;oBACd,GAAG,KAAK,IAAI;oBACZ,GAAG,KAAK,YAAY;oBACpB,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EACzB;oBACA,SAAS;iBACV;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;aACtD;YACD,OAAO,MAAM,CAAC;SACf;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAM,CAAC;AACjE,CAAC;AAlCD,oDAkCC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAqB;IACxD,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACpB;QACD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAfD,oDAeC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,QAAkB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,YAAY,SAAS,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC;IAEhF,SAAS,WAAW,CAAC,KAAc,EAAE,MAAM,GAAG,CAAC;QAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YACzC,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAC;SAC5B;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;aACxB;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;gBAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aAC/C;YACD,OAAO,MAAM,CAAC;SACf;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;aAC9C;YACD,OAAO,MAAM,CAAC;SACf;QAED,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB;IACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACnD,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS,CAAC,0BAA0B;QAChF,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KACtC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AA1CD,oDA0CC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,gBAAyC;IAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAChB;KACF;IAED,6BAA6B;IAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE;QAC3D,IAAI,KAAK,KAAK,CAAC;YAAE,SAAS,CAAC,wBAAwB;QAEnD,MAAM,UAAU,GACd,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,gCAAgC,KAAK,GAAG,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,aAAa,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,iDAAiD;QACjD,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEtD,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACzE,KAAK,CAAC,IAAI,CAAC,SAAS,YAAY,KAAK,aAAa,CAAC,MAAM,SAAS,CAAC,CAAC;YAEpE,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE;gBACpC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAChB;SACF;KACF;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AArCD,wDAqCC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,gBAAyC;IACpE,MAAM,uBAAuB,GAA+B,EAAE,CAAC;IAE/D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE;QAC3D,IAAI,KAAK,KAAK,CAAC;YAAE,SAAS,CAAC,yCAAyC;QACpE,uBAAuB,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;KACvD;IAED,MAAM,MAAM,GAAG;QACb,eAAe,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,uBAAuB;KACxB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAdD,oCAcC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,aAAuB,EACvB,OAAsC,EACtC,gBAGkB;IAElB,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;IACxC,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,iBAAiB,CAAC;IAEpD,2BAA2B;IAC3B,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE;QACjD,QAAQ;QACR,oBAAoB;KACrB,CAAC,CAAC;IAEH,oCAAoC;IACpC,OAAO,CAAC,GAAG,CAAC,6CAA6C,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3F,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE;QACtE,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,KAAK,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC;KAC5E;IAED,6CAA6C;IAC7C,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE;QACtE,gDAAgD;QAChD,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACxC,SAAS;SACV;QACD,uBAAuB,CAAC,GAAG,CACzB,KAAK;QACL,oEAAoE;QACpE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAwB,CAAC,CAAC,CACnE,CAAC;KACH;IAED,kCAAkC;IAClC,IAAI,MAAM,KAAK,MAAM,EAAE;QACrB,OAAO,YAAY,CAAC,uBAAuB,CAAC,CAAC;KAC9C;SAAM;QACL,OAAO,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;KACxD;AACH,CAAC;AA5CD,gDA4CC"}
1
+ {"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/internal/llm-context.ts"],"names":[],"mappings":"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"}
@@ -13,17 +13,17 @@ export declare function isArrayReferenceField(fieldName: string): boolean;
13
13
  * Resolve a single reference object to a resource
14
14
  * FR-5.5: Reference resolution methods handle both resource.id and fullUrl matching
15
15
  */
16
- export declare function resolveReferenceObject(referenceObj: unknown, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, resolutionStack: Set<string>): Resource | undefined;
16
+ export declare function resolveReferenceObject(referenceObj: unknown, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, resolutionStack: Set<string>, fragmentResolutionRoot: Resource): Resource | undefined;
17
17
  /**
18
18
  * Resolve a reference method call to actual resources
19
19
  * FR-5.2-5.6: Handle different reference types and patterns
20
20
  */
21
- export declare function resolveReference(methodName: string, resource: Resource, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, resolutionStack: Set<string>, createSmartResourceFn: <T extends Resource>(resource: T) => Smart<T>): Smart<Resource> | Smart<Resource>[] | undefined;
21
+ export declare function resolveReference(methodName: string, resource: Resource, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, resolutionStack: Set<string>, fragmentResolutionRoot: Resource, createSmartResourceFn: <T extends Resource>(resource: T) => Smart<T>): Smart<Resource> | Smart<Resource>[] | undefined;
22
22
  /**
23
23
  * Create a smart resource with reference resolution methods
24
24
  * FR-5.1: Resources returned by SDK have additional getter methods for each Reference field
25
25
  * FR-5.7: Reference resolution operates in O(1) time complexity per reference
26
26
  * FR-5.8: Original reference fields remain unchanged
27
27
  */
28
- export declare function createSmartResource<T extends Resource>(resource: T, smartResourceCache: WeakMap<Resource, Smart<Resource>>, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, resolutionStack: Set<string>, getResourcesReferencingIdFn: (targetId: string, options?: ReverseReferenceOptions) => Smart<Resource>[]): Smart<T>;
28
+ export declare function createSmartResource<T extends Resource>(resource: T, smartResourceCache: WeakMap<Resource, Smart<Resource>>, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, resolutionStack: Set<string>, getResourcesReferencingIdFn: (targetId: string, options?: ReverseReferenceOptions) => Smart<Resource>[], fragmentResolutionRoot: Resource): Smart<T>;
29
29
  //# sourceMappingURL=reference-resolution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-resolution.d.ts","sourceRoot":"","sources":["../../src/internal/reference-resolution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,KAAK,EAIN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AA2D7D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAyChE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,QAAQ,GAAG,SAAS,CAgCtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,qBAAqB,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GACnE,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,CA0CjD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EACpD,QAAQ,EAAE,CAAC,EACX,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EACtD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,2BAA2B,EAAE,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,KAC9B,KAAK,CAAC,QAAQ,CAAC,EAAE,GACrB,KAAK,CAAC,CAAC,CAAC,CAkNV"}
1
+ {"version":3,"file":"reference-resolution.d.ts","sourceRoot":"","sources":["../../src/internal/reference-resolution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,KAAK,EAIN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AA4D7D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAyChE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,sBAAsB,EAAE,QAAQ,GAC/B,QAAQ,GAAG,SAAS,CAuCtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,sBAAsB,EAAE,QAAQ,EAChC,qBAAqB,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GACnE,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,CA4CjD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EACpD,QAAQ,EAAE,CAAC,EACX,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EACtD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,2BAA2B,EAAE,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,KAC9B,KAAK,CAAC,QAAQ,CAAC,EAAE,EACtB,sBAAsB,EAAE,QAAQ,GAC/B,KAAK,CAAC,CAAC,CAAC,CA4LV"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSmartResource = exports.resolveReference = exports.resolveReferenceObject = exports.isArrayReferenceField = void 0;
3
+ exports.isArrayReferenceField = isArrayReferenceField;
4
+ exports.resolveReferenceObject = resolveReferenceObject;
5
+ exports.resolveReference = resolveReference;
6
+ exports.createSmartResource = createSmartResource;
4
7
  const util_1 = require("util");
5
8
  const smart_resources_1 = require("../types/smart-resources");
6
9
  const coding_utilities_1 = require("./coding-utilities");
7
10
  const transparent_proxy_1 = require("./transparent-proxy");
11
+ const reference_utils_1 = require("./reference-utils");
8
12
  /**
9
13
  * Navigate through a nested path in a resource to get the value at that path.
10
14
  * Handles both simple paths ("subject") and nested paths ("diagnosis.condition").
@@ -94,12 +98,11 @@ function isArrayReferenceField(fieldName) {
94
98
  }
95
99
  return false;
96
100
  }
97
- exports.isArrayReferenceField = isArrayReferenceField;
98
101
  /**
99
102
  * Resolve a single reference object to a resource
100
103
  * FR-5.5: Reference resolution methods handle both resource.id and fullUrl matching
101
104
  */
102
- function resolveReferenceObject(referenceObj, resourcesById, resourcesByFullUrl, resolutionStack) {
105
+ function resolveReferenceObject(referenceObj, resourcesById, resourcesByFullUrl, resolutionStack, fragmentResolutionRoot) {
103
106
  if (!referenceObj || typeof referenceObj !== "object" || !("reference" in referenceObj)) {
104
107
  return undefined;
105
108
  }
@@ -110,6 +113,12 @@ function resolveReferenceObject(referenceObj, resourcesById, resourcesByFullUrl,
110
113
  }
111
114
  resolutionStack.add(reference);
112
115
  try {
116
+ if (reference.startsWith("#")) {
117
+ const fromContained = (0, reference_utils_1.resolveContainedReference)(fragmentResolutionRoot, reference);
118
+ if (fromContained) {
119
+ return fromContained;
120
+ }
121
+ }
113
122
  // Try to resolve by resource ID (e.g., "Patient/123")
114
123
  if (reference.includes("/")) {
115
124
  const [, resourceId] = reference.split("/");
@@ -127,12 +136,11 @@ function resolveReferenceObject(referenceObj, resourcesById, resourcesByFullUrl,
127
136
  resolutionStack.delete(reference);
128
137
  }
129
138
  }
130
- exports.resolveReferenceObject = resolveReferenceObject;
131
139
  /**
132
140
  * Resolve a reference method call to actual resources
133
141
  * FR-5.2-5.6: Handle different reference types and patterns
134
142
  */
135
- function resolveReference(methodName, resource, resourcesById, resourcesByFullUrl, resolutionStack, createSmartResourceFn) {
143
+ function resolveReference(methodName, resource, resourcesById, resourcesByFullUrl, resolutionStack, fragmentResolutionRoot, createSmartResourceFn) {
136
144
  const referenceField = (0, smart_resources_1.getReferenceField)(methodName, resource.resourceType);
137
145
  if (!referenceField) {
138
146
  return undefined;
@@ -147,7 +155,7 @@ function resolveReference(methodName, resource, resourcesById, resourcesByFullUr
147
155
  if (Array.isArray(referenceValue)) {
148
156
  const resolvedResources = [];
149
157
  for (const ref of referenceValue) {
150
- const resolved = resolveReferenceObject(ref, resourcesById, resourcesByFullUrl, resolutionStack);
158
+ const resolved = resolveReferenceObject(ref, resourcesById, resourcesByFullUrl, resolutionStack, fragmentResolutionRoot);
151
159
  if (resolved) {
152
160
  resolvedResources.push(createSmartResourceFn(resolved));
153
161
  }
@@ -155,21 +163,20 @@ function resolveReference(methodName, resource, resourcesById, resourcesByFullUr
155
163
  return resolvedResources;
156
164
  }
157
165
  // Handle single reference - we know it's not an array at this point
158
- const resolved = resolveReferenceObject(referenceValue, resourcesById, resourcesByFullUrl, resolutionStack);
166
+ const resolved = resolveReferenceObject(referenceValue, resourcesById, resourcesByFullUrl, resolutionStack, fragmentResolutionRoot);
159
167
  if (resolved) {
160
168
  // Type assertion is safe here because we've established this is the single reference path
161
169
  return createSmartResourceFn(resolved);
162
170
  }
163
171
  return undefined;
164
172
  }
165
- exports.resolveReference = resolveReference;
166
173
  /**
167
174
  * Create a smart resource with reference resolution methods
168
175
  * FR-5.1: Resources returned by SDK have additional getter methods for each Reference field
169
176
  * FR-5.7: Reference resolution operates in O(1) time complexity per reference
170
177
  * FR-5.8: Original reference fields remain unchanged
171
178
  */
172
- function createSmartResource(resource, smartResourceCache, resourcesById, resourcesByFullUrl, resolutionStack, getResourcesReferencingIdFn) {
179
+ function createSmartResource(resource, smartResourceCache, resourcesById, resourcesByFullUrl, resolutionStack, getResourcesReferencingIdFn, fragmentResolutionRoot) {
173
180
  // Check cache first to maintain object identity
174
181
  const cached = smartResourceCache.get(resource);
175
182
  if (cached) {
@@ -239,7 +246,7 @@ function createSmartResource(resource, smartResourceCache, resourcesById, resour
239
246
  }
240
247
  // Check if this is a reference method call
241
248
  if (typeof prop === "string" && (0, smart_resources_1.isReferenceMethod)(prop, target.resourceType)) {
242
- return () => resolveReference(prop, target, resourcesById, resourcesByFullUrl, resolutionStack, res => createSmartResource(res, smartResourceCache, resourcesById, resourcesByFullUrl, resolutionStack, getResourcesReferencingIdFn));
249
+ return () => resolveReference(prop, target, resourcesById, resourcesByFullUrl, resolutionStack, fragmentResolutionRoot, res => createSmartResource(res, smartResourceCache, resourcesById, resourcesByFullUrl, resolutionStack, getResourcesReferencingIdFn, fragmentResolutionRoot));
243
250
  }
244
251
  // Get the property value
245
252
  const value = Reflect.get(target, prop, receiver);
@@ -284,48 +291,22 @@ function createSmartResource(resource, smartResourceCache, resourcesById, resour
284
291
  // Return original property for primitives and other types
285
292
  return value;
286
293
  },
287
- // Ensure JSON serialization works correctly (FR-5.8)
288
294
  ownKeys: target => {
289
- const keys = Reflect.ownKeys(target);
290
- const virtualMethods = [
291
- "getReferencingResources",
292
- "getReferencedResources",
293
- "toString",
294
- ];
295
- // Add reference methods for this resource type
296
- const referenceMethods = smart_resources_1.REFERENCE_METHOD_MAPPING[target.resourceType];
297
- if (referenceMethods) {
298
- virtualMethods.push(...Object.keys(referenceMethods));
299
- }
300
- // Filter out internal markers and add virtual methods for DevTools
301
- return [...keys.filter(key => key !== "__isSmartResource"), ...virtualMethods];
295
+ return Reflect.ownKeys(target).filter(key => key !== "__isSmartResource");
302
296
  },
303
297
  getOwnPropertyDescriptor: (target, prop) => {
304
- // Hide internal markers from enumeration
305
298
  if (prop === "__isSmartResource" ||
306
299
  prop === Symbol.toStringTag ||
307
300
  prop === "toJSON" ||
308
- prop === util_1.inspect.custom) {
309
- return undefined;
310
- }
311
- // Make virtual methods enumerable for DevTools
312
- if (prop === "getReferencingResources" ||
301
+ prop === util_1.inspect.custom ||
302
+ prop === "getReferencingResources" ||
313
303
  prop === "getReferencedResources" ||
314
304
  prop === "toString") {
315
- return {
316
- enumerable: true,
317
- configurable: true,
318
- writable: false,
319
- };
305
+ return undefined;
320
306
  }
321
- // Make reference methods enumerable for DevTools
322
307
  const referenceMethods = smart_resources_1.REFERENCE_METHOD_MAPPING[target.resourceType];
323
308
  if (referenceMethods && typeof prop === "string" && prop in referenceMethods) {
324
- return {
325
- enumerable: true,
326
- configurable: true,
327
- writable: false,
328
- };
309
+ return undefined;
329
310
  }
330
311
  return Reflect.getOwnPropertyDescriptor(target, prop);
331
312
  },
@@ -334,5 +315,4 @@ function createSmartResource(resource, smartResourceCache, resourcesById, resour
334
315
  smartResourceCache.set(resource, smartResource);
335
316
  return smartResource;
336
317
  }
337
- exports.createSmartResource = createSmartResource;
338
318
  //# sourceMappingURL=reference-resolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-resolution.js","sourceRoot":"","sources":["../../src/internal/reference-resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-resolution.js","sourceRoot":"","sources":["../../src/internal/reference-resolution.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ export declare function findAllReferences(resource: Resource): Array<{
6
6
  field: string;
7
7
  reference: string;
8
8
  }>;
9
+ /**
10
+ * Resolve a fragment reference (e.g. #localId) against a resource's contained array.
11
+ */
12
+ export declare function resolveContainedReference(fragmentRoot: Resource, reference: string): Resource | undefined;
9
13
  /**
10
14
  * Extract target resource ID from a reference string
11
15
  */
@@ -18,10 +22,11 @@ export declare function extractTargetIdFromReference(reference: string): string
18
22
  */
19
23
  export declare function normalizeReferenceField(field: string): string;
20
24
  /**
21
- * Check if a reference can be resolved within the bundle
25
+ * Check if a reference can be resolved within the bundle (and optional contained context)
22
26
  * @param reference - The reference string to check
23
27
  * @param resourcesById - Map of resources indexed by resource.id
24
28
  * @param resourcesByFullUrl - Map of resources indexed by entry.fullUrl
29
+ * @param sourceResource - Bundle entry resource; used to resolve #fragment against contained
25
30
  */
26
- export declare function canResolveReference(reference: string, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>): boolean;
31
+ export declare function canResolveReference(reference: string, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, sourceResource?: Resource): boolean;
27
32
  //# sourceMappingURL=reference-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-utils.d.ts","sourceRoot":"","sources":["../../src/internal/reference-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCjG;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAalF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GACxC,OAAO,CAeT"}
1
+ {"version":3,"file":"reference-utils.d.ts","sourceRoot":"","sources":["../../src/internal/reference-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCjG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,QAAQ,EACtB,SAAS,EAAE,MAAM,GAChB,QAAQ,GAAG,SAAS,CAYtB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBlF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,cAAc,CAAC,EAAE,QAAQ,GACxB,OAAO,CAsBT"}
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.canResolveReference = exports.normalizeReferenceField = exports.extractTargetIdFromReference = exports.findAllReferences = void 0;
3
+ exports.findAllReferences = findAllReferences;
4
+ exports.resolveContainedReference = resolveContainedReference;
5
+ exports.extractTargetIdFromReference = extractTargetIdFromReference;
6
+ exports.normalizeReferenceField = normalizeReferenceField;
7
+ exports.canResolveReference = canResolveReference;
4
8
  /**
5
9
  * Find all Reference fields in a resource recursively
6
10
  */
@@ -35,7 +39,20 @@ function findAllReferences(resource) {
35
39
  searchObject(resource);
36
40
  return references;
37
41
  }
38
- exports.findAllReferences = findAllReferences;
42
+ /**
43
+ * Resolve a fragment reference (e.g. #localId) against a resource's contained array.
44
+ */
45
+ function resolveContainedReference(fragmentRoot, reference) {
46
+ if (!reference.startsWith("#")) {
47
+ return undefined;
48
+ }
49
+ const localId = reference.slice(1);
50
+ const contained = fragmentRoot.contained;
51
+ if (!localId || !contained?.length) {
52
+ return undefined;
53
+ }
54
+ return contained.find((entry) => entry.id === localId);
55
+ }
39
56
  /**
40
57
  * Extract target resource ID from a reference string
41
58
  */
@@ -43,6 +60,10 @@ function extractTargetIdFromReference(reference) {
43
60
  if (!reference) {
44
61
  return undefined;
45
62
  }
63
+ if (reference.startsWith("#")) {
64
+ const localId = reference.slice(1);
65
+ return localId || undefined;
66
+ }
46
67
  // Handle "ResourceType/id" pattern
47
68
  if (reference.includes("/")) {
48
69
  const parts = reference.split("/");
@@ -51,7 +72,6 @@ function extractTargetIdFromReference(reference) {
51
72
  // Handle other reference patterns (e.g., "urn:uuid:xxx")
52
73
  return reference;
53
74
  }
54
- exports.extractTargetIdFromReference = extractTargetIdFromReference;
55
75
  /**
56
76
  * Normalize reference field path by removing array indices but preserving nested paths.
57
77
  * e.g., "diagnosis[0].condition" -> "diagnosis.condition"
@@ -62,14 +82,20 @@ function normalizeReferenceField(field) {
62
82
  // Remove array indices while preserving the full nested path
63
83
  return field.replace(/\[\d+\]/g, "");
64
84
  }
65
- exports.normalizeReferenceField = normalizeReferenceField;
66
85
  /**
67
- * Check if a reference can be resolved within the bundle
86
+ * Check if a reference can be resolved within the bundle (and optional contained context)
68
87
  * @param reference - The reference string to check
69
88
  * @param resourcesById - Map of resources indexed by resource.id
70
89
  * @param resourcesByFullUrl - Map of resources indexed by entry.fullUrl
90
+ * @param sourceResource - Bundle entry resource; used to resolve #fragment against contained
71
91
  */
72
- function canResolveReference(reference, resourcesById, resourcesByFullUrl) {
92
+ function canResolveReference(reference, resourcesById, resourcesByFullUrl, sourceResource) {
93
+ if (reference.startsWith("#")) {
94
+ if (!sourceResource) {
95
+ return false;
96
+ }
97
+ return resolveContainedReference(sourceResource, reference) !== undefined;
98
+ }
73
99
  // Try to resolve by resource ID (e.g., "Patient/123")
74
100
  if (reference.includes("/")) {
75
101
  const [, resourceId] = reference.split("/");
@@ -83,5 +109,4 @@ function canResolveReference(reference, resourcesById, resourcesByFullUrl) {
83
109
  }
84
110
  return false;
85
111
  }
86
- exports.canResolveReference = canResolveReference;
87
112
  //# sourceMappingURL=reference-utils.js.map