@x12i/map-store-client 0.1.3 → 0.1.5

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 (70) hide show
  1. package/README.md +155 -1
  2. package/dist/estate/analytics.d.ts +50 -0
  3. package/dist/estate/analytics.d.ts.map +1 -0
  4. package/dist/estate/analytics.js +128 -0
  5. package/dist/estate/analytics.js.map +1 -0
  6. package/dist/estate/census.d.ts +123 -0
  7. package/dist/estate/census.d.ts.map +1 -0
  8. package/dist/estate/census.js +275 -0
  9. package/dist/estate/census.js.map +1 -0
  10. package/dist/estate/client.d.ts +66 -0
  11. package/dist/estate/client.d.ts.map +1 -0
  12. package/dist/estate/client.js +10 -0
  13. package/dist/estate/client.js.map +1 -0
  14. package/dist/estate/content.d.ts +91 -0
  15. package/dist/estate/content.d.ts.map +1 -0
  16. package/dist/estate/content.js +251 -0
  17. package/dist/estate/content.js.map +1 -0
  18. package/dist/estate/contract.d.ts +76 -0
  19. package/dist/estate/contract.d.ts.map +1 -0
  20. package/dist/estate/contract.js +291 -0
  21. package/dist/estate/contract.js.map +1 -0
  22. package/dist/estate/decisions.d.ts +32 -0
  23. package/dist/estate/decisions.d.ts.map +1 -0
  24. package/dist/estate/decisions.js +113 -0
  25. package/dist/estate/decisions.js.map +1 -0
  26. package/dist/estate/ids.d.ts +3 -0
  27. package/dist/estate/ids.d.ts.map +1 -0
  28. package/dist/estate/ids.js +6 -0
  29. package/dist/estate/ids.js.map +1 -0
  30. package/dist/estate/index.d.ts +30 -0
  31. package/dist/estate/index.d.ts.map +1 -0
  32. package/dist/estate/index.js +19 -0
  33. package/dist/estate/index.js.map +1 -0
  34. package/dist/estate/localStories.d.ts +28 -0
  35. package/dist/estate/localStories.d.ts.map +1 -0
  36. package/dist/estate/localStories.js +980 -0
  37. package/dist/estate/localStories.js.map +1 -0
  38. package/dist/estate/pack.d.ts +45 -0
  39. package/dist/estate/pack.d.ts.map +1 -0
  40. package/dist/estate/pack.js +83 -0
  41. package/dist/estate/pack.js.map +1 -0
  42. package/dist/estate/predictedAttack.d.ts +79 -0
  43. package/dist/estate/predictedAttack.d.ts.map +1 -0
  44. package/dist/estate/predictedAttack.js +321 -0
  45. package/dist/estate/predictedAttack.js.map +1 -0
  46. package/dist/estate/readState.d.ts +33 -0
  47. package/dist/estate/readState.d.ts.map +1 -0
  48. package/dist/estate/readState.js +58 -0
  49. package/dist/estate/readState.js.map +1 -0
  50. package/dist/estate/stories.d.ts +93 -0
  51. package/dist/estate/stories.d.ts.map +1 -0
  52. package/dist/estate/stories.js +224 -0
  53. package/dist/estate/stories.js.map +1 -0
  54. package/dist/estate/verdictReason.d.ts +17 -0
  55. package/dist/estate/verdictReason.d.ts.map +1 -0
  56. package/dist/estate/verdictReason.js +49 -0
  57. package/dist/estate/verdictReason.js.map +1 -0
  58. package/dist/fetch.d.ts +2 -0
  59. package/dist/fetch.d.ts.map +1 -1
  60. package/dist/fetch.js +13 -3
  61. package/dist/fetch.js.map +1 -1
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +1 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/queries.d.ts +98 -0
  67. package/dist/queries.d.ts.map +1 -0
  68. package/dist/queries.js +180 -0
  69. package/dist/queries.js.map +1 -0
  70. package/package.json +14 -1
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Asset triage decisions, read with a filtered content list.
3
+ * Walking every triage row is too slow for a drill-down, so the filter is sent to the API.
4
+ *
5
+ * `data.decisionType` is the instance name. In-scope priority is `data.urgency`:
6
+ * ACT_NOW, EXPEDITE, SCHEDULE, MONITOR.
7
+ * Confirmed is `assessmentState` ASSESSED. Missing information is NEEDS_EVIDENCE.
8
+ * Not applicable is `data.decision` NOT_APPLICABLE, and those rows have no urgency.
9
+ */
10
+ import type { EstateData } from './client';
11
+ export declare const RESPONSE_URGENCIES: readonly ["ACT_NOW", "EXPEDITE", "SCHEDULE", "MONITOR"];
12
+ export type ResponseUrgency = (typeof RESPONSE_URGENCIES)[number];
13
+ export declare const NOT_APPLICABLE = "NOT_APPLICABLE";
14
+ export type TriageStatusCode = 'ASSESSED' | 'NEEDS_EVIDENCE' | 'PENDING';
15
+ export type AssetDecisionQuery = {
16
+ urgency: ResponseUrgency | null;
17
+ notApplicable: boolean;
18
+ status: TriageStatusCode | null;
19
+ };
20
+ export declare function responseUrgency(value: unknown): ResponseUrgency | null;
21
+ /** Assigned urgency. A not-applicable row has none, and `data.decision` is not a priority code. */
22
+ export declare function priorityOf(data: Record<string, unknown> | null | undefined): ResponseUrgency | null;
23
+ /** True when the set holds this object id in either its `object:` or bare form. */
24
+ export declare function hasDecisionId(ids: Set<string>, objectId: string): boolean;
25
+ /** Record ids of the endpoint assets whose asset-triage row matches this decision. */
26
+ export declare function loadAssetDecisionIds(client: EstateData, query: AssetDecisionQuery): Promise<Set<string>>;
27
+ /**
28
+ * Asset object id to its asset-triage urgency.
29
+ * Assets without an urgency are absent. One list of `endpoint-asset` / `triage`, filtered to asset-triage.
30
+ */
31
+ export declare function loadAssetUrgencies(client: EstateData): Promise<Map<string, ResponseUrgency>>;
32
+ //# sourceMappingURL=decisions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/estate/decisions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,eAAO,MAAM,kBAAkB,yDAA0D,CAAC;AAC1F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjC,CAAC;AASF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAGtE;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAGnG;AAWD,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzE;AAID,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAUtB;AAwBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAQ5F"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Asset triage decisions, read with a filtered content list.
3
+ * Walking every triage row is too slow for a drill-down, so the filter is sent to the API.
4
+ *
5
+ * `data.decisionType` is the instance name. In-scope priority is `data.urgency`:
6
+ * ACT_NOW, EXPEDITE, SCHEDULE, MONITOR.
7
+ * Confirmed is `assessmentState` ASSESSED. Missing information is NEEDS_EVIDENCE.
8
+ * Not applicable is `data.decision` NOT_APPLICABLE, and those rows have no urgency.
9
+ */
10
+ import { listContent } from './content';
11
+ import { objectIdBody } from './ids';
12
+ export const RESPONSE_URGENCIES = ['ACT_NOW', 'EXPEDITE', 'SCHEDULE', 'MONITOR'];
13
+ export const NOT_APPLICABLE = 'NOT_APPLICABLE';
14
+ function token(value) {
15
+ return String(value ?? '')
16
+ .trim()
17
+ .toUpperCase()
18
+ .replace(/[\s-]+/g, '_');
19
+ }
20
+ export function responseUrgency(value) {
21
+ const code = token(value);
22
+ return RESPONSE_URGENCIES.includes(code) ? code : null;
23
+ }
24
+ /** Assigned urgency. A not-applicable row has none, and `data.decision` is not a priority code. */
25
+ export function priorityOf(data) {
26
+ if (!data || token(data.decision) === NOT_APPLICABLE)
27
+ return null;
28
+ return responseUrgency(data.urgency);
29
+ }
30
+ function remember(ids, recordId) {
31
+ const id = recordId.trim();
32
+ if (!id)
33
+ return;
34
+ ids.add(id);
35
+ const body = objectIdBody(id);
36
+ ids.add(body);
37
+ if (!id.startsWith('object:'))
38
+ ids.add(`object:${body}`);
39
+ }
40
+ /** True when the set holds this object id in either its `object:` or bare form. */
41
+ export function hasDecisionId(ids, objectId) {
42
+ return ids.has(objectId) || ids.has(objectIdBody(objectId));
43
+ }
44
+ const byQuery = new Map();
45
+ /** Record ids of the endpoint assets whose asset-triage row matches this decision. */
46
+ export function loadAssetDecisionIds(client, query) {
47
+ const key = JSON.stringify(query);
48
+ const hit = byQuery.get(key);
49
+ if (hit)
50
+ return hit;
51
+ const pending = readDecisionIds(client, query).catch((err) => {
52
+ byQuery.delete(key);
53
+ throw err;
54
+ });
55
+ byQuery.set(key, pending);
56
+ return pending;
57
+ }
58
+ async function readDecisionIds(client, query) {
59
+ const filter = [
60
+ { field: 'data.decisionType', op: 'eq', value: 'asset-triage' },
61
+ ];
62
+ if (query.notApplicable)
63
+ filter.push({ field: 'data.decision', op: 'eq', value: NOT_APPLICABLE });
64
+ else if (query.urgency)
65
+ filter.push({ field: 'data.urgency', op: 'eq', value: query.urgency });
66
+ if (query.status === 'ASSESSED' || query.status === 'NEEDS_EVIDENCE') {
67
+ filter.push({ field: 'data.assessmentState', op: 'eq', value: query.status });
68
+ }
69
+ const rows = await listContent(client, {
70
+ objectType: 'endpoint-asset',
71
+ contentType: 'triage',
72
+ filter,
73
+ maxPages: 20,
74
+ });
75
+ const ids = new Set();
76
+ for (const row of rows)
77
+ remember(ids, row.recordId);
78
+ return ids;
79
+ }
80
+ let urgencies = null;
81
+ /**
82
+ * Asset object id to its asset-triage urgency.
83
+ * Assets without an urgency are absent. One list of `endpoint-asset` / `triage`, filtered to asset-triage.
84
+ */
85
+ export function loadAssetUrgencies(client) {
86
+ if (!urgencies) {
87
+ urgencies = readUrgencies(client).catch((err) => {
88
+ urgencies = null;
89
+ throw err;
90
+ });
91
+ }
92
+ return urgencies;
93
+ }
94
+ async function readUrgencies(client) {
95
+ const rows = await listContent(client, {
96
+ objectType: 'endpoint-asset',
97
+ contentType: 'triage',
98
+ filter: [{ field: 'data.decisionType', op: 'eq', value: 'asset-triage' }],
99
+ maxPages: 20,
100
+ });
101
+ const map = new Map();
102
+ for (const row of rows) {
103
+ const urgency = priorityOf(row.data);
104
+ if (!urgency)
105
+ continue;
106
+ const ids = new Set();
107
+ remember(ids, row.recordId);
108
+ for (const id of ids)
109
+ map.set(id, urgency);
110
+ }
111
+ return map;
112
+ }
113
+ //# sourceMappingURL=decisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/estate/decisions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** `object:abc` and `abc` name the same record. Comparisons use the part after `object:`. */
2
+ export declare function objectIdBody(objectId: string): string;
3
+ //# sourceMappingURL=ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/estate/ids.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD"}
@@ -0,0 +1,6 @@
1
+ /** `object:abc` and `abc` name the same record. Comparisons use the part after `object:`. */
2
+ export function objectIdBody(objectId) {
3
+ const raw = objectId.trim();
4
+ return raw.startsWith('object:') ? raw.slice('object:'.length) : raw;
5
+ }
6
+ //# sourceMappingURL=ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/estate/ids.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACvE,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Everything the Pre-AI pages read that is not a map-store working product:
3
+ * the Memorix content lists, the census and analytics records, the triage decisions,
4
+ * and the story pipeline. Pass in the Memorix read client you build yourself.
5
+ * See the package README for which call feeds which page.
6
+ */
7
+ export { synapixContentTypes, skillsContentTypes, skillsRecordTargets, declaringObjectTypes, otherContractTypes, skillsContract, ownerOf, triageInstance, PREDICTED_ATTACK_LIST, MITIGATION_LIST, isMitigationPlan, isPredictedAttack, CONSUMER_MANIFEST, } from './contract';
8
+ export type { DataSide, SkillsContent, ContentListSpec, ConsumerRead } from './contract';
9
+ export type { ContentFilter, ContentRead, EstateData, EstateCatalog, EstateAnalyticsApi, ObjectTypeFunction, } from './client';
10
+ export { objectIdBody } from './ids';
11
+ export { isDocumentEnvelope, contentData, documentMarkdown, readScopeReason, listContent, listContentResult, readContent, readContentResult, listRecordContent, inventoryDisplayName, } from './content';
12
+ export type { ContentData, ContentRow, ListContentInput, ReadContentInput, RecordContentInput, } from './content';
13
+ export { contentTypesOf, loadPackListing, requiredDiscriminator } from './pack';
14
+ export type { PackDiscriminator, PackContentType, PackListing, RequiredDiscriminator } from './pack';
15
+ export { RESPONSE_URGENCIES, NOT_APPLICABLE, responseUrgency, priorityOf, hasDecisionId, loadAssetDecisionIds, loadAssetUrgencies, } from './decisions';
16
+ export type { ResponseUrgency, TriageStatusCode, AssetDecisionQuery } from './decisions';
17
+ export { ESTATE_ANALYTICS_TARGET, readEstateAnalytics, readEstateAnalyticsResult, estateAnalyticsSuppliesTallies, TRIAGE_TALLY_LISTS, readSourceCensus, } from './analytics';
18
+ export { TIER0_TARGETS, tier0Value, publishedCount, censusOrLander, parseTier0Census, loadTier0Census, loadTier0CensusResult, censusEntryById, vulnerabilityEntryForCve, EMPTY_VULNERABILITY_ROWS, EMPTY_ASSET_ROWS, } from './census';
19
+ export type { Tier0Metric, MetricMap, VulnerabilityCensusRow, AssetCensusRow, VulnerabilityCensus, AssetCensus, EstateCensus, Tier0Census, Tier0BoardId, } from './census';
20
+ export { storyTabsFrom, loadStoryTabs, readStoredStory, readStoredStoryResult, runStoryFunction, } from './stories';
21
+ export type { StoryTab, StoryTabs, StoredStory, StoryFunctionResult, StoryRun, StoryRunOptions, } from './stories';
22
+ export { PREDICTED_ATTACK_TEMPLATE, predictedAttackReady, tacticColumn, predictionDiagram, predictionStepFrom, predictionStepsFrom, subjectRefOf, } from './predictedAttack';
23
+ export type { PredictionControl, PredictionAsset, PredictionStep, PredictionSource, PredictionDiagram, } from './predictedAttack';
24
+ export { buildLocalStory, loadRecordContents } from './localStories';
25
+ export type { RecordContents, LocalStory } from './localStories';
26
+ export { UNPUBLISHED_BY_AGENT, classifyReadError, dispositionOf, isPlaceholderDisposition, isPlaceholderRecord, readErrorCode, readStatus, } from './readState';
27
+ export type { ReadResult, ReadState } from './readState';
28
+ export { verdictReasonView } from './verdictReason';
29
+ export type { VerdictReasonView } from './verdictReason';
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/estate/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Everything the Pre-AI pages read that is not a map-store working product:
3
+ * the Memorix content lists, the census and analytics records, the triage decisions,
4
+ * and the story pipeline. Pass in the Memorix read client you build yourself.
5
+ * See the package README for which call feeds which page.
6
+ */
7
+ export { synapixContentTypes, skillsContentTypes, skillsRecordTargets, declaringObjectTypes, otherContractTypes, skillsContract, ownerOf, triageInstance, PREDICTED_ATTACK_LIST, MITIGATION_LIST, isMitigationPlan, isPredictedAttack, CONSUMER_MANIFEST, } from './contract';
8
+ export { objectIdBody } from './ids';
9
+ export { isDocumentEnvelope, contentData, documentMarkdown, readScopeReason, listContent, listContentResult, readContent, readContentResult, listRecordContent, inventoryDisplayName, } from './content';
10
+ export { contentTypesOf, loadPackListing, requiredDiscriminator } from './pack';
11
+ export { RESPONSE_URGENCIES, NOT_APPLICABLE, responseUrgency, priorityOf, hasDecisionId, loadAssetDecisionIds, loadAssetUrgencies, } from './decisions';
12
+ export { ESTATE_ANALYTICS_TARGET, readEstateAnalytics, readEstateAnalyticsResult, estateAnalyticsSuppliesTallies, TRIAGE_TALLY_LISTS, readSourceCensus, } from './analytics';
13
+ export { TIER0_TARGETS, tier0Value, publishedCount, censusOrLander, parseTier0Census, loadTier0Census, loadTier0CensusResult, censusEntryById, vulnerabilityEntryForCve, EMPTY_VULNERABILITY_ROWS, EMPTY_ASSET_ROWS, } from './census';
14
+ export { storyTabsFrom, loadStoryTabs, readStoredStory, readStoredStoryResult, runStoryFunction, } from './stories';
15
+ export { PREDICTED_ATTACK_TEMPLATE, predictedAttackReady, tacticColumn, predictionDiagram, predictionStepFrom, predictionStepsFrom, subjectRefOf, } from './predictedAttack';
16
+ export { buildLocalStory, loadRecordContents } from './localStories';
17
+ export { UNPUBLISHED_BY_AGENT, classifyReadError, dispositionOf, isPlaceholderDisposition, isPlaceholderRecord, readErrorCode, readStatus, } from './readState';
18
+ export { verdictReasonView } from './verdictReason';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/estate/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AASnB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAGhF,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAalB,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAUnB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGrE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { EstateCatalog } from './client';
2
+ /** Stored `data` rows per content type for one record. */
3
+ export type RecordContents = ReadonlyMap<string, Record<string, unknown>[]>;
4
+ /**
5
+ * A story drawn in the app from the record's stored content, or what that drawing still needs.
6
+ * `sources` are the content types the drawing read. `gaps` are open questions those rows state.
7
+ */
8
+ export type LocalStory = {
9
+ status: 'built';
10
+ input: Record<string, unknown>;
11
+ sources: string[];
12
+ gaps: string[];
13
+ drawTemplate?: string;
14
+ } | {
15
+ status: 'missing';
16
+ needs: string[];
17
+ };
18
+ /**
19
+ * Draw `template` from stored rows. A drawing Storyflowix rejects is reported as missing.
20
+ * Templates with no builder are missing too: only the agent's function or a stored drawing can fill them.
21
+ */
22
+ export declare function buildLocalStory(template: string, objectType: string, contents: RecordContents): LocalStory;
23
+ /**
24
+ * Every stored content row on one record, by content type.
25
+ * One `listRecords` read per record, with `representation: 'both'`.
26
+ */
27
+ export declare function loadRecordContents(client: EstateCatalog, objectType: string, recordId: string): Promise<RecordContents>;
28
+ //# sourceMappingURL=localStories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localStories.d.ts","sourceRoot":"","sources":["../../src/estate/localStories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,0DAA0D;AAC1D,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7G;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AA86B3C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,UAAU,CAoB1G;AASD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CA6BzB"}