@robosystems/client 0.2.49 → 0.3.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 (190) hide show
  1. package/extensions/InvestorClient.d.ts +91 -0
  2. package/extensions/InvestorClient.js +223 -0
  3. package/extensions/InvestorClient.ts +501 -0
  4. package/extensions/LedgerClient.d.ts +183 -309
  5. package/extensions/LedgerClient.js +268 -587
  6. package/extensions/LedgerClient.ts +777 -903
  7. package/extensions/ReportClient.d.ts +77 -115
  8. package/extensions/ReportClient.js +124 -211
  9. package/extensions/ReportClient.ts +298 -358
  10. package/extensions/config.js +1 -1
  11. package/extensions/config.ts +1 -1
  12. package/extensions/graphql/client.d.ts +46 -0
  13. package/extensions/graphql/client.js +75 -0
  14. package/extensions/graphql/client.ts +82 -0
  15. package/extensions/graphql/generated/graphql.d.ts +1786 -0
  16. package/extensions/graphql/generated/graphql.js +2671 -0
  17. package/extensions/graphql/generated/graphql.ts +4491 -0
  18. package/extensions/graphql/queries/investor/holdings.d.ts +8 -0
  19. package/extensions/graphql/queries/investor/holdings.js +36 -0
  20. package/extensions/graphql/queries/investor/holdings.ts +34 -0
  21. package/extensions/graphql/queries/investor/portfolio.d.ts +4 -0
  22. package/extensions/graphql/queries/investor/portfolio.js +21 -0
  23. package/extensions/graphql/queries/investor/portfolio.ts +19 -0
  24. package/extensions/graphql/queries/investor/portfolios.d.ts +4 -0
  25. package/extensions/graphql/queries/investor/portfolios.js +29 -0
  26. package/extensions/graphql/queries/investor/portfolios.ts +27 -0
  27. package/extensions/graphql/queries/investor/position.d.ts +4 -0
  28. package/extensions/graphql/queries/investor/position.js +33 -0
  29. package/extensions/graphql/queries/investor/position.ts +31 -0
  30. package/extensions/graphql/queries/investor/positions.d.ts +8 -0
  31. package/extensions/graphql/queries/investor/positions.js +57 -0
  32. package/extensions/graphql/queries/investor/positions.ts +55 -0
  33. package/extensions/graphql/queries/investor/securities.d.ts +8 -0
  34. package/extensions/graphql/queries/investor/securities.js +50 -0
  35. package/extensions/graphql/queries/investor/securities.ts +48 -0
  36. package/extensions/graphql/queries/investor/security.d.ts +4 -0
  37. package/extensions/graphql/queries/investor/security.js +26 -0
  38. package/extensions/graphql/queries/investor/security.ts +24 -0
  39. package/extensions/graphql/queries/ledger/accountRollups.d.ts +7 -0
  40. package/extensions/graphql/queries/ledger/accountRollups.js +36 -0
  41. package/extensions/graphql/queries/ledger/accountRollups.ts +34 -0
  42. package/extensions/graphql/queries/ledger/accountTree.d.ts +11 -0
  43. package/extensions/graphql/queries/ledger/accountTree.js +61 -0
  44. package/extensions/graphql/queries/ledger/accountTree.ts +59 -0
  45. package/extensions/graphql/queries/ledger/accounts.d.ts +8 -0
  46. package/extensions/graphql/queries/ledger/accounts.js +45 -0
  47. package/extensions/graphql/queries/ledger/accounts.ts +43 -0
  48. package/extensions/graphql/queries/ledger/closingBookStructures.d.ts +6 -0
  49. package/extensions/graphql/queries/ledger/closingBookStructures.js +27 -0
  50. package/extensions/graphql/queries/ledger/closingBookStructures.ts +25 -0
  51. package/extensions/graphql/queries/ledger/elements.d.ts +6 -0
  52. package/extensions/graphql/queries/ledger/elements.js +56 -0
  53. package/extensions/graphql/queries/ledger/elements.ts +54 -0
  54. package/extensions/graphql/queries/ledger/entities.d.ts +7 -0
  55. package/extensions/graphql/queries/ledger/entities.js +31 -0
  56. package/extensions/graphql/queries/ledger/entities.ts +29 -0
  57. package/extensions/graphql/queries/ledger/entity.d.ts +14 -0
  58. package/extensions/graphql/queries/ledger/entity.js +55 -0
  59. package/extensions/graphql/queries/ledger/entity.ts +54 -0
  60. package/extensions/graphql/queries/ledger/fiscalCalendar.d.ts +8 -0
  61. package/extensions/graphql/queries/ledger/fiscalCalendar.js +35 -0
  62. package/extensions/graphql/queries/ledger/fiscalCalendar.ts +33 -0
  63. package/extensions/graphql/queries/ledger/mappedTrialBalance.d.ts +9 -0
  64. package/extensions/graphql/queries/ledger/mappedTrialBalance.js +29 -0
  65. package/extensions/graphql/queries/ledger/mappedTrialBalance.ts +27 -0
  66. package/extensions/graphql/queries/ledger/mapping.d.ts +5 -0
  67. package/extensions/graphql/queries/ledger/mapping.js +35 -0
  68. package/extensions/graphql/queries/ledger/mapping.ts +33 -0
  69. package/extensions/graphql/queries/ledger/mappingCoverage.d.ts +5 -0
  70. package/extensions/graphql/queries/ledger/mappingCoverage.js +22 -0
  71. package/extensions/graphql/queries/ledger/mappingCoverage.ts +20 -0
  72. package/extensions/graphql/queries/ledger/mappings.d.ts +6 -0
  73. package/extensions/graphql/queries/ledger/mappings.js +23 -0
  74. package/extensions/graphql/queries/ledger/mappings.ts +21 -0
  75. package/extensions/graphql/queries/ledger/periodCloseStatus.d.ts +6 -0
  76. package/extensions/graphql/queries/ledger/periodCloseStatus.js +29 -0
  77. package/extensions/graphql/queries/ledger/periodCloseStatus.ts +27 -0
  78. package/extensions/graphql/queries/ledger/periodDrafts.d.ts +8 -0
  79. package/extensions/graphql/queries/ledger/periodDrafts.js +45 -0
  80. package/extensions/graphql/queries/ledger/periodDrafts.ts +43 -0
  81. package/extensions/graphql/queries/ledger/publishList.d.ts +5 -0
  82. package/extensions/graphql/queries/ledger/publishList.js +29 -0
  83. package/extensions/graphql/queries/ledger/publishList.ts +27 -0
  84. package/extensions/graphql/queries/ledger/publishLists.d.ts +5 -0
  85. package/extensions/graphql/queries/ledger/publishLists.js +29 -0
  86. package/extensions/graphql/queries/ledger/publishLists.ts +27 -0
  87. package/extensions/graphql/queries/ledger/report.d.ts +5 -0
  88. package/extensions/graphql/queries/ledger/report.js +40 -0
  89. package/extensions/graphql/queries/ledger/report.ts +38 -0
  90. package/extensions/graphql/queries/ledger/reportingTaxonomy.d.ts +6 -0
  91. package/extensions/graphql/queries/ledger/reportingTaxonomy.js +27 -0
  92. package/extensions/graphql/queries/ledger/reportingTaxonomy.ts +25 -0
  93. package/extensions/graphql/queries/ledger/reports.d.ts +8 -0
  94. package/extensions/graphql/queries/ledger/reports.js +45 -0
  95. package/extensions/graphql/queries/ledger/reports.ts +43 -0
  96. package/extensions/graphql/queries/ledger/scheduleFacts.d.ts +7 -0
  97. package/extensions/graphql/queries/ledger/scheduleFacts.js +24 -0
  98. package/extensions/graphql/queries/ledger/scheduleFacts.ts +22 -0
  99. package/extensions/graphql/queries/ledger/schedules.d.ts +6 -0
  100. package/extensions/graphql/queries/ledger/schedules.js +24 -0
  101. package/extensions/graphql/queries/ledger/schedules.ts +22 -0
  102. package/extensions/graphql/queries/ledger/statement.d.ts +9 -0
  103. package/extensions/graphql/queries/ledger/statement.js +43 -0
  104. package/extensions/graphql/queries/ledger/statement.ts +41 -0
  105. package/extensions/graphql/queries/ledger/structures.d.ts +5 -0
  106. package/extensions/graphql/queries/ledger/structures.js +22 -0
  107. package/extensions/graphql/queries/ledger/structures.ts +20 -0
  108. package/extensions/graphql/queries/ledger/summary.d.ts +7 -0
  109. package/extensions/graphql/queries/ledger/summary.js +25 -0
  110. package/extensions/graphql/queries/ledger/summary.ts +23 -0
  111. package/extensions/graphql/queries/ledger/taxonomies.d.ts +5 -0
  112. package/extensions/graphql/queries/ledger/taxonomies.js +28 -0
  113. package/extensions/graphql/queries/ledger/taxonomies.ts +26 -0
  114. package/extensions/graphql/queries/ledger/transaction.d.ts +6 -0
  115. package/extensions/graphql/queries/ledger/transaction.js +49 -0
  116. package/extensions/graphql/queries/ledger/transaction.ts +47 -0
  117. package/extensions/graphql/queries/ledger/transactions.d.ts +7 -0
  118. package/extensions/graphql/queries/ledger/transactions.js +49 -0
  119. package/extensions/graphql/queries/ledger/transactions.ts +47 -0
  120. package/extensions/graphql/queries/ledger/trialBalance.d.ts +7 -0
  121. package/extensions/graphql/queries/ledger/trialBalance.js +28 -0
  122. package/extensions/graphql/queries/ledger/trialBalance.ts +26 -0
  123. package/extensions/graphql/queries/ledger/unmappedElements.d.ts +8 -0
  124. package/extensions/graphql/queries/ledger/unmappedElements.js +29 -0
  125. package/extensions/graphql/queries/ledger/unmappedElements.ts +27 -0
  126. package/extensions/hooks.d.ts +1 -1
  127. package/extensions/index.d.ts +5 -1
  128. package/extensions/index.js +13 -1
  129. package/extensions/index.ts +14 -0
  130. package/index.ts +2 -2
  131. package/package.json +14 -5
  132. package/sdk/index.d.ts +2 -2
  133. package/sdk/index.js +38 -73
  134. package/sdk/index.ts +2 -2
  135. package/sdk/sdk.gen.d.ts +100 -325
  136. package/sdk/sdk.gen.js +228 -592
  137. package/sdk/sdk.gen.ts +193 -556
  138. package/sdk/types.gen.d.ts +4522 -7708
  139. package/sdk/types.gen.ts +4569 -7983
  140. package/sdk.gen.d.ts +100 -325
  141. package/sdk.gen.js +228 -592
  142. package/sdk.gen.ts +193 -556
  143. package/types.gen.d.ts +4522 -7708
  144. package/types.gen.ts +4569 -7983
  145. package/extensions/AgentClient.test.ts +0 -403
  146. package/extensions/LedgerClient.test.ts +0 -1655
  147. package/extensions/OperationClient.test.ts +0 -365
  148. package/extensions/QueryClient.test.ts +0 -432
  149. package/extensions/ReportClient.test.ts +0 -828
  150. package/extensions/SSEClient.test.ts +0 -375
  151. package/extensions/config.test.ts +0 -199
  152. package/extensions/hooks.test.ts +0 -373
  153. package/extensions/index.test.ts +0 -420
  154. package/sdk-extensions/AgentClient.d.ts +0 -82
  155. package/sdk-extensions/AgentClient.js +0 -218
  156. package/sdk-extensions/AgentClient.test.ts +0 -403
  157. package/sdk-extensions/AgentClient.ts +0 -321
  158. package/sdk-extensions/LedgerClient.d.ts +0 -416
  159. package/sdk-extensions/LedgerClient.js +0 -737
  160. package/sdk-extensions/LedgerClient.test.ts +0 -1655
  161. package/sdk-extensions/LedgerClient.ts +0 -1249
  162. package/sdk-extensions/OperationClient.d.ts +0 -65
  163. package/sdk-extensions/OperationClient.js +0 -251
  164. package/sdk-extensions/OperationClient.test.ts +0 -365
  165. package/sdk-extensions/OperationClient.ts +0 -324
  166. package/sdk-extensions/QueryClient.d.ts +0 -52
  167. package/sdk-extensions/QueryClient.js +0 -313
  168. package/sdk-extensions/QueryClient.test.ts +0 -432
  169. package/sdk-extensions/QueryClient.ts +0 -420
  170. package/sdk-extensions/README.md +0 -901
  171. package/sdk-extensions/ReportClient.d.ts +0 -151
  172. package/sdk-extensions/ReportClient.js +0 -278
  173. package/sdk-extensions/ReportClient.test.ts +0 -828
  174. package/sdk-extensions/ReportClient.ts +0 -486
  175. package/sdk-extensions/SSEClient.d.ts +0 -62
  176. package/sdk-extensions/SSEClient.js +0 -154
  177. package/sdk-extensions/SSEClient.test.ts +0 -375
  178. package/sdk-extensions/SSEClient.ts +0 -210
  179. package/sdk-extensions/config.d.ts +0 -57
  180. package/sdk-extensions/config.js +0 -152
  181. package/sdk-extensions/config.test.ts +0 -199
  182. package/sdk-extensions/config.ts +0 -175
  183. package/sdk-extensions/hooks.d.ts +0 -110
  184. package/sdk-extensions/hooks.js +0 -384
  185. package/sdk-extensions/hooks.test.ts +0 -373
  186. package/sdk-extensions/hooks.ts +0 -459
  187. package/sdk-extensions/index.d.ts +0 -63
  188. package/sdk-extensions/index.js +0 -164
  189. package/sdk-extensions/index.test.ts +0 -420
  190. package/sdk-extensions/index.ts +0 -203
@@ -1,86 +1,53 @@
1
- import type { AccountListResponse, AccountRollupsResponse, AccountTreeResponse, ClosingBookStructuresResponse, LedgerSummaryResponse, LedgerTransactionDetailResponse, LedgerTransactionListResponse, MappingDetailResponse, TrialBalanceResponse } from '../types.gen';
2
- export interface LedgerEntity {
3
- id: string;
4
- name: string;
5
- legalName: string | null;
6
- entityType: string | null;
7
- industry: string | null;
8
- status: string | null;
9
- }
10
- export interface MappingInfo {
11
- id: string;
12
- name: string;
13
- description: string | null;
14
- structureType: string;
15
- taxonomyId: string;
16
- isActive: boolean;
17
- }
18
- export interface MappingCoverage {
19
- totalCoaElements: number;
20
- mappedCount: number;
21
- unmappedCount: number;
22
- coveragePercent: number;
23
- highConfidence: number;
24
- mediumConfidence: number;
25
- lowConfidence: number;
26
- }
27
- export interface Structure {
28
- id: string;
29
- name: string;
30
- structureType: string;
31
- }
32
- export interface Schedule {
33
- structureId: string;
34
- name: string;
35
- taxonomyName: string;
36
- entryTemplate: Record<string, unknown> | null;
37
- scheduleMetadata: Record<string, unknown> | null;
38
- totalPeriods: number;
39
- periodsWithEntries: number;
40
- }
41
- export interface ScheduleCreated {
42
- structureId: string;
43
- name: string;
44
- taxonomyId: string;
45
- totalPeriods: number;
46
- totalFacts: number;
47
- }
48
- export interface ScheduleFact {
49
- elementId: string;
50
- elementName: string;
51
- value: number;
52
- periodStart: string;
53
- periodEnd: string;
54
- }
55
- export interface PeriodCloseItem {
56
- structureId: string;
57
- structureName: string;
58
- amount: number;
59
- status: string;
60
- entryId: string | null;
1
+ import type { AutoMapElementsOperation, CreateMappingAssociationOperation, CreateStructureRequest, CreateTaxonomyRequest, DeleteMappingAssociationOperation, OperationEnvelope, UpdateEntityRequest } from '../types.gen';
2
+ import { type GetLedgerAccountRollupsQuery, type GetLedgerAccountTreeQuery, type GetLedgerClosingBookStructuresQuery, type GetLedgerEntityQuery, type GetLedgerFiscalCalendarQuery, type GetLedgerMappedTrialBalanceQuery, type GetLedgerMappingCoverageQuery, type GetLedgerMappingQuery, type GetLedgerPeriodCloseStatusQuery, type GetLedgerPeriodDraftsQuery, type GetLedgerReportingTaxonomyQuery, type GetLedgerScheduleFactsQuery, type GetLedgerSummaryQuery, type GetLedgerTransactionQuery, type GetLedgerTrialBalanceQuery, type ListLedgerAccountsQuery, type ListLedgerElementsQuery, type ListLedgerEntitiesQuery, type ListLedgerMappingsQuery, type ListLedgerSchedulesQuery, type ListLedgerStructuresQuery, type ListLedgerTaxonomiesQuery, type ListLedgerTransactionsQuery, type ListLedgerUnmappedElementsQuery } from './graphql/generated/graphql';
3
+ export type LedgerEntity = NonNullable<GetLedgerEntityQuery['entity']>;
4
+ export type LedgerEntitySummary = ListLedgerEntitiesQuery['entities'][number];
5
+ export type LedgerSummary = NonNullable<GetLedgerSummaryQuery['summary']>;
6
+ export type LedgerAccountList = NonNullable<ListLedgerAccountsQuery['accounts']>;
7
+ export type LedgerAccount = LedgerAccountList['accounts'][number];
8
+ export type LedgerAccountTree = NonNullable<GetLedgerAccountTreeQuery['accountTree']>;
9
+ export type LedgerAccountRollups = NonNullable<GetLedgerAccountRollupsQuery['accountRollups']>;
10
+ export type LedgerTrialBalance = NonNullable<GetLedgerTrialBalanceQuery['trialBalance']>;
11
+ export type LedgerMappedTrialBalance = NonNullable<GetLedgerMappedTrialBalanceQuery['mappedTrialBalance']>;
12
+ export type LedgerTransactionList = NonNullable<ListLedgerTransactionsQuery['transactions']>;
13
+ export type LedgerTransactionListItem = LedgerTransactionList['transactions'][number];
14
+ export type LedgerTransaction = NonNullable<GetLedgerTransactionQuery['transaction']>;
15
+ export type LedgerReportingTaxonomy = NonNullable<GetLedgerReportingTaxonomyQuery['reportingTaxonomy']>;
16
+ export type LedgerTaxonomyList = NonNullable<ListLedgerTaxonomiesQuery['taxonomies']>;
17
+ export type LedgerTaxonomy = LedgerTaxonomyList['taxonomies'][number];
18
+ export type LedgerElementList = NonNullable<ListLedgerElementsQuery['elements']>;
19
+ export type LedgerElement = LedgerElementList['elements'][number];
20
+ export type LedgerUnmappedElement = ListLedgerUnmappedElementsQuery['unmappedElements'][number];
21
+ export type LedgerStructureList = NonNullable<ListLedgerStructuresQuery['structures']>;
22
+ export type LedgerStructure = LedgerStructureList['structures'][number];
23
+ export type LedgerMappingList = NonNullable<ListLedgerMappingsQuery['mappings']>;
24
+ export type LedgerMappingInfo = LedgerMappingList['structures'][number];
25
+ export type LedgerMapping = NonNullable<GetLedgerMappingQuery['mapping']>;
26
+ export type LedgerMappingCoverage = NonNullable<GetLedgerMappingCoverageQuery['mappingCoverage']>;
27
+ export type LedgerScheduleList = NonNullable<ListLedgerSchedulesQuery['schedules']>;
28
+ export type LedgerSchedule = LedgerScheduleList['schedules'][number];
29
+ export type LedgerScheduleFacts = NonNullable<GetLedgerScheduleFactsQuery['scheduleFacts']>;
30
+ export type LedgerScheduleFact = LedgerScheduleFacts['facts'][number];
31
+ export type LedgerPeriodCloseStatus = NonNullable<GetLedgerPeriodCloseStatusQuery['periodCloseStatus']>;
32
+ export type LedgerPeriodCloseItem = LedgerPeriodCloseStatus['schedules'][number];
33
+ export type LedgerPeriodDrafts = NonNullable<GetLedgerPeriodDraftsQuery['periodDrafts']>;
34
+ export type LedgerDraftEntry = LedgerPeriodDrafts['drafts'][number];
35
+ export type LedgerDraftLineItem = LedgerDraftEntry['lineItems'][number];
36
+ export type LedgerClosingBookStructures = NonNullable<GetLedgerClosingBookStructuresQuery['closingBookStructures']>;
37
+ export type LedgerFiscalCalendar = NonNullable<GetLedgerFiscalCalendarQuery['fiscalCalendar']>;
38
+ export type LedgerFiscalPeriod = LedgerFiscalCalendar['periods'][number];
39
+ export interface InitializeLedgerResult {
40
+ fiscalCalendar: LedgerFiscalCalendar;
41
+ periodsCreated: number;
42
+ warnings: string[];
61
43
  }
62
- export interface PeriodCloseStatus {
63
- fiscalPeriodStart: string;
64
- fiscalPeriodEnd: string;
65
- periodStatus: string;
66
- schedules: PeriodCloseItem[];
67
- totalDraft: number;
68
- totalPosted: number;
44
+ export interface ClosePeriodResult {
45
+ period: string;
46
+ entriesPosted: number;
47
+ targetAutoAdvanced: boolean;
48
+ fiscalCalendar: LedgerFiscalCalendar;
69
49
  }
70
- /**
71
- * Outcome of an idempotent `createClosingEntry` call.
72
- *
73
- * - `created` — no prior draft, new draft created
74
- * - `unchanged` — prior draft matches current schedule fact, no-op
75
- * - `regenerated` — prior draft was stale, replaced with a fresh one
76
- * - `removed` — prior draft existed but schedule no longer covers this period
77
- * - `skipped` — no prior draft and no in-scope fact; nothing to do
78
- */
79
50
  export type ClosingEntryOutcome = 'created' | 'unchanged' | 'regenerated' | 'removed' | 'skipped';
80
- /**
81
- * Result of an idempotent closing-entry call. `entry_id`, `amount`, and
82
- * related fields are null for `removed` and `skipped` outcomes.
83
- */
84
51
  export interface ClosingEntry {
85
52
  outcome: ClosingEntryOutcome;
86
53
  entryId: string | null;
@@ -92,28 +59,20 @@ export interface ClosingEntry {
92
59
  amount: number | null;
93
60
  reason: string | null;
94
61
  }
95
- export type LedgerEntryType = 'standard' | 'adjusting' | 'closing' | 'reversing';
96
- export interface FiscalPeriodSummary {
62
+ export interface ScheduleCreated {
63
+ structureId: string;
97
64
  name: string;
98
- startDate: string;
99
- endDate: string;
100
- status: string;
101
- closedAt: string | null;
65
+ taxonomyId: string;
66
+ totalPeriods: number;
67
+ totalFacts: number;
102
68
  }
103
- export interface FiscalCalendarState {
104
- graphId: string;
105
- fiscalYearStartMonth: number;
106
- closedThrough: string | null;
107
- closeTarget: string | null;
108
- gapPeriods: number;
109
- catchUpSequence: string[];
110
- closeableNow: boolean;
111
- blockers: string[];
112
- lastCloseAt: string | null;
113
- initializedAt: string | null;
114
- lastSyncAt: string | null;
115
- periods: FiscalPeriodSummary[];
69
+ export interface TruncateScheduleResult {
70
+ structureId: string;
71
+ newEndDate: string;
72
+ factsDeleted: number;
73
+ reason: string;
116
74
  }
75
+ export type LedgerEntryType = 'standard' | 'adjusting' | 'closing' | 'reversing';
117
76
  export interface InitializeLedgerOptions {
118
77
  closedThrough?: string | null;
119
78
  fiscalYearStartMonth?: number;
@@ -121,53 +80,10 @@ export interface InitializeLedgerOptions {
121
80
  autoSeedSchedules?: boolean;
122
81
  note?: string | null;
123
82
  }
124
- export interface InitializeLedgerResult {
125
- fiscalCalendar: FiscalCalendarState;
126
- periodsCreated: number;
127
- warnings: string[];
128
- }
129
83
  export interface ClosePeriodOptions {
130
84
  note?: string | null;
131
85
  allowStaleSync?: boolean;
132
86
  }
133
- export interface ClosePeriodResult {
134
- period: string;
135
- entriesPosted: number;
136
- targetAutoAdvanced: boolean;
137
- fiscalCalendar: FiscalCalendarState;
138
- }
139
- export interface DraftLineItemView {
140
- lineItemId: string;
141
- elementId: string;
142
- elementCode: string | null;
143
- elementName: string;
144
- debitAmount: number;
145
- creditAmount: number;
146
- description: string | null;
147
- }
148
- export interface DraftEntryView {
149
- entryId: string;
150
- postingDate: string;
151
- type: string;
152
- memo: string | null;
153
- provenance: string | null;
154
- sourceStructureId: string | null;
155
- sourceStructureName: string | null;
156
- lineItems: DraftLineItemView[];
157
- totalDebit: number;
158
- totalCredit: number;
159
- balanced: boolean;
160
- }
161
- export interface PeriodDraftsView {
162
- period: string;
163
- periodStart: string;
164
- periodEnd: string;
165
- draftCount: number;
166
- totalDebit: number;
167
- totalCredit: number;
168
- allBalanced: boolean;
169
- drafts: DraftEntryView[];
170
- }
171
87
  export interface ManualClosingLineItem {
172
88
  elementId: string;
173
89
  debitAmount?: number;
@@ -184,12 +100,6 @@ export interface TruncateScheduleOptions {
184
100
  newEndDate: string;
185
101
  reason: string;
186
102
  }
187
- export interface TruncateScheduleResult {
188
- structureId: string;
189
- newEndDate: string;
190
- factsDeleted: number;
191
- reason: string;
192
- }
193
103
  export interface CreateScheduleOptions {
194
104
  name: string;
195
105
  elementIds: string[];
@@ -211,69 +121,81 @@ export interface CreateScheduleOptions {
211
121
  assetElementId?: string;
212
122
  };
213
123
  }
124
+ interface LedgerClientConfig {
125
+ baseUrl: string;
126
+ credentials?: 'include' | 'same-origin' | 'omit';
127
+ headers?: Record<string, string>;
128
+ token?: string;
129
+ }
214
130
  export declare class LedgerClient {
215
131
  private config;
216
- constructor(config: {
217
- baseUrl: string;
218
- credentials?: 'include' | 'same-origin' | 'omit';
219
- headers?: Record<string, string>;
220
- token?: string;
221
- });
222
132
  /**
223
- * Get the entity (company/organization) for this graph.
133
+ * Per-graph GraphQL client cache. The first call for a given graph
134
+ * creates a `GraphQLClient` bound to `/extensions/{graph_id}/graphql`;
135
+ * subsequent calls reuse it.
224
136
  */
225
- getEntity(graphId: string): Promise<LedgerEntity | null>;
137
+ private gql;
138
+ constructor(config: LedgerClientConfig);
226
139
  /**
227
- * List accounts (flat).
228
- */
229
- listAccounts(graphId: string): Promise<AccountListResponse>;
230
- /**
231
- * Get the account tree (hierarchical).
140
+ * Get the entity (company/organization) for this graph.
141
+ * Returns null when the ledger has no entity yet.
232
142
  */
233
- getAccountTree(graphId: string): Promise<AccountTreeResponse>;
143
+ getEntity(graphId: string): Promise<LedgerEntity | null>;
144
+ /** List all entities for this graph, optionally filtered by source system. */
145
+ listEntities(graphId: string, options?: {
146
+ source?: string;
147
+ }): Promise<LedgerEntitySummary[]>;
234
148
  /**
235
- * List transactions with optional date filters.
149
+ * Update the entity for this graph. Only non-null fields are applied.
150
+ * Returns the updated entity.
236
151
  */
152
+ updateEntity(graphId: string, updates: UpdateEntityRequest): Promise<LedgerEntity>;
153
+ /** Ledger rollup counts + QB sync metadata. */
154
+ getSummary(graphId: string): Promise<LedgerSummary | null>;
155
+ /** List CoA accounts with optional filters and pagination. */
156
+ listAccounts(graphId: string, options?: {
157
+ classification?: string;
158
+ isActive?: boolean;
159
+ limit?: number;
160
+ offset?: number;
161
+ }): Promise<LedgerAccountList | null>;
162
+ /** Hierarchical Chart of Accounts (up to 4 levels deep). */
163
+ getAccountTree(graphId: string): Promise<LedgerAccountTree | null>;
164
+ /** Accounts rolled up to reporting concepts via a mapping structure. */
165
+ getAccountRollups(graphId: string, options?: {
166
+ mappingId?: string;
167
+ startDate?: string;
168
+ endDate?: string;
169
+ }): Promise<LedgerAccountRollups | null>;
170
+ /** List transactions with optional type + date filters and pagination. */
237
171
  listTransactions(graphId: string, options?: {
172
+ type?: string;
238
173
  startDate?: string;
239
174
  endDate?: string;
240
175
  limit?: number;
241
176
  offset?: number;
242
- }): Promise<LedgerTransactionListResponse>;
243
- /**
244
- * Get transaction detail with entries and line items.
245
- */
246
- getTransaction(graphId: string, transactionId: string): Promise<LedgerTransactionDetailResponse>;
247
- /**
248
- * Get trial balance (CoA-level debits/credits).
249
- */
177
+ }): Promise<LedgerTransactionList | null>;
178
+ /** Get transaction detail with entries + line items. */
179
+ getTransaction(graphId: string, transactionId: string): Promise<LedgerTransaction | null>;
180
+ /** Trial balance by raw CoA account. */
250
181
  getTrialBalance(graphId: string, options?: {
251
182
  startDate?: string;
252
183
  endDate?: string;
253
- }): Promise<TrialBalanceResponse>;
254
- /**
255
- * Get mapped trial balance (CoA rolled up to GAAP concepts).
256
- */
257
- getMappedTrialBalance(graphId: string, options?: {
258
- mappingId?: string;
184
+ }): Promise<LedgerTrialBalance | null>;
185
+ /** Trial balance rolled up to GAAP reporting concepts via a mapping. */
186
+ getMappedTrialBalance(graphId: string, mappingId: string, options?: {
259
187
  startDate?: string;
260
188
  endDate?: string;
261
- }): Promise<unknown>;
262
- /**
263
- * Get ledger summary (account count, transaction count, date range).
264
- */
265
- getSummary(graphId: string): Promise<LedgerSummaryResponse>;
266
- /**
267
- * Get the reporting taxonomy (US GAAP seed).
268
- */
269
- getReportingTaxonomy(graphId: string): Promise<unknown>;
270
- /**
271
- * List reporting structures (IS, BS, CF) for a taxonomy.
272
- */
273
- listStructures(graphId: string, taxonomyId?: string): Promise<Structure[]>;
274
- /**
275
- * List elements (CoA accounts, GAAP concepts, etc.).
276
- */
189
+ }): Promise<LedgerMappedTrialBalance | null>;
190
+ /** Get the locked US GAAP reporting taxonomy for this graph. */
191
+ getReportingTaxonomy(graphId: string): Promise<LedgerReportingTaxonomy | null>;
192
+ /** List active taxonomies with optional type filter. */
193
+ listTaxonomies(graphId: string, options?: {
194
+ taxonomyType?: string;
195
+ }): Promise<LedgerTaxonomy[]>;
196
+ /** Create a new taxonomy (used for CoA + mapping taxonomies). */
197
+ createTaxonomy(graphId: string, body: CreateTaxonomyRequest): Promise<Record<string, unknown>>;
198
+ /** List elements (CoA accounts, GAAP concepts, etc.) with filters. */
277
199
  listElements(graphId: string, options?: {
278
200
  taxonomyId?: string;
279
201
  source?: string;
@@ -281,136 +203,88 @@ export declare class LedgerClient {
281
203
  isAbstract?: boolean;
282
204
  limit?: number;
283
205
  offset?: number;
284
- }): Promise<unknown>;
285
- /**
286
- * Create a new CoA→GAAP mapping structure.
287
- * Returns the created mapping info.
288
- */
289
- createMappingStructure(graphId: string, options?: {
290
- name?: string;
291
- description?: string;
206
+ }): Promise<LedgerElementList | null>;
207
+ /** CoA elements not yet mapped to a reporting concept. */
208
+ listUnmappedElements(graphId: string, options?: {
209
+ mappingId?: string;
210
+ }): Promise<LedgerUnmappedElement[]>;
211
+ /** List reporting structures (IS, BS, CF, schedules) with optional filters. */
212
+ listStructures(graphId: string, options?: {
292
213
  taxonomyId?: string;
293
- }): Promise<MappingInfo>;
294
- /**
295
- * List available CoA→GAAP mapping structures.
296
- */
297
- listMappings(graphId: string): Promise<MappingInfo[]>;
298
- /**
299
- * Get mapping detail — all associations with element names.
300
- */
301
- getMappingDetail(graphId: string, mappingId: string): Promise<MappingDetailResponse>;
302
- /**
303
- * Get mapping coverage how many CoA elements are mapped.
304
- */
305
- getMappingCoverage(graphId: string, mappingId: string): Promise<MappingCoverage>;
306
- /**
307
- * Create a manual mapping association (CoA element → GAAP element).
308
- */
309
- createMapping(graphId: string, mappingId: string, fromElementId: string, toElementId: string, confidence?: number): Promise<void>;
310
- /**
311
- * Delete a mapping association.
312
- */
313
- deleteMapping(graphId: string, mappingId: string, associationId: string): Promise<void>;
314
- /**
315
- * Trigger AI auto-mapping (MappingAgent).
316
- * Returns immediately — the agent runs in the background.
317
- */
318
- autoMap(graphId: string, mappingId: string): Promise<{
319
- operationId?: string;
214
+ structureType?: string;
215
+ }): Promise<LedgerStructure[]>;
216
+ /**
217
+ * Create a new structure. Most common use is a CoA→reporting mapping
218
+ * structure; also used for custom statement + schedule structures.
219
+ */
220
+ createStructure(graphId: string, body: CreateStructureRequest): Promise<LedgerMappingInfo>;
221
+ /** List active CoA→reporting mapping structures. */
222
+ listMappings(graphId: string): Promise<LedgerMappingInfo[]>;
223
+ /** Get a mapping structure with all its associations. */
224
+ getMapping(graphId: string, mappingId: string): Promise<LedgerMapping | null>;
225
+ /** Mapping coverage stats — how many CoA elements are mapped. */
226
+ getMappingCoverage(graphId: string, mappingId: string): Promise<LedgerMappingCoverage | null>;
227
+ /** Create a manual mapping association between two elements. */
228
+ createMappingAssociation(graphId: string, body: CreateMappingAssociationOperation): Promise<Record<string, unknown>>;
229
+ /** Delete a mapping association. */
230
+ deleteMappingAssociation(graphId: string, body: DeleteMappingAssociationOperation): Promise<{
231
+ deleted: boolean;
320
232
  }>;
321
233
  /**
322
- * Create a schedule with pre-generated monthly facts.
234
+ * Trigger the AI MappingAgent. Returns the operation id — async; the
235
+ * agent runs in the background. Consumers can subscribe to progress
236
+ * via `/v1/operations/{operationId}/stream`.
323
237
  */
238
+ autoMapElements(graphId: string, body: AutoMapElementsOperation): Promise<{
239
+ operationId: string;
240
+ status: OperationEnvelope['status'];
241
+ }>;
242
+ /** List all schedule structures with metadata. */
243
+ listSchedules(graphId: string): Promise<LedgerSchedule[]>;
244
+ /** Schedule facts optionally filtered by period window. */
245
+ getScheduleFacts(graphId: string, structureId: string, options?: {
246
+ periodStart?: string;
247
+ periodEnd?: string;
248
+ }): Promise<LedgerScheduleFact[]>;
249
+ /** Create a new schedule with pre-generated monthly facts. */
324
250
  createSchedule(graphId: string, options: CreateScheduleOptions): Promise<ScheduleCreated>;
251
+ /** Truncate a schedule — end it early at `newEndDate`. */
252
+ truncateSchedule(graphId: string, structureId: string, options: TruncateScheduleOptions): Promise<TruncateScheduleResult>;
253
+ /** Close status for all schedules in a fiscal period. */
254
+ getPeriodCloseStatus(graphId: string, periodStart: string, periodEnd: string): Promise<LedgerPeriodCloseStatus | null>;
255
+ /** All draft entries in a period, fully expanded for review pre-close. */
256
+ listPeriodDrafts(graphId: string, period: string): Promise<LedgerPeriodDrafts | null>;
325
257
  /**
326
- * List all schedules for a graph.
327
- */
328
- listSchedules(graphId: string): Promise<Schedule[]>;
329
- /**
330
- * Get facts for a schedule, optionally filtered by period.
331
- */
332
- getScheduleFacts(graphId: string, structureId: string, periodStart?: string, periodEnd?: string): Promise<ScheduleFact[]>;
333
- /**
334
- * Get close status for all schedules in a fiscal period.
335
- */
336
- getPeriodCloseStatus(graphId: string, periodStart: string, periodEnd: string): Promise<PeriodCloseStatus>;
337
- /**
338
- * Idempotently create (or refresh) a draft closing entry from a schedule's
339
- * facts for a period. The `outcome` field describes what actually happened:
340
- *
341
- * - `created` — new draft
342
- * - `unchanged` — existing draft still matches the schedule; no-op
343
- * - `regenerated` — existing draft was stale; replaced
344
- * - `removed` — schedule no longer covers this period; stale draft deleted
345
- * - `skipped` — no existing draft and no in-scope fact; nothing to do
258
+ * Idempotently create (or refresh) a draft closing entry from a
259
+ * schedule for a period. See `ClosingEntryOutcome` for semantics.
346
260
  */
347
261
  createClosingEntry(graphId: string, structureId: string, postingDate: string, periodStart: string, periodEnd: string, memo?: string): Promise<ClosingEntry>;
348
262
  /**
349
- * Get all closing book structure categories for the sidebar.
350
- * Returns statements, account rollups, schedules, trial balance,
351
- * and period close grouped into categories.
352
- */
353
- getClosingBookStructures(graphId: string): Promise<ClosingBookStructuresResponse>;
354
- /**
355
- * Get account rollups — CoA accounts grouped by reporting element with balances.
356
- * Shows how company-specific accounts roll up to standardized reporting lines.
357
- */
358
- getAccountRollups(graphId: string, options?: {
359
- mappingId?: string;
360
- startDate?: string;
361
- endDate?: string;
362
- }): Promise<AccountRollupsResponse>;
363
- /**
364
- * Initialize the fiscal calendar for a graph. Creates FiscalPeriod rows
365
- * for the data window, sets `closed_through` / `close_target`, and emits
366
- * an `initialized` audit event. Fails with 409 if already initialized.
263
+ * Create a manual balanced closing entry (not tied to a schedule).
264
+ * Used for disposals, adjustments, and one-off closing events.
367
265
  */
266
+ createManualClosingEntry(graphId: string, options: CreateManualClosingEntryOptions): Promise<ClosingEntry>;
267
+ /** Grouped closing book structures for the close-screen sidebar. */
268
+ getClosingBookStructures(graphId: string): Promise<LedgerClosingBookStructures | null>;
269
+ /** Current fiscal calendar state — pointers, gap, closeable status. */
270
+ getFiscalCalendar(graphId: string): Promise<LedgerFiscalCalendar | null>;
271
+ /** One-time ledger initialization — seed fiscal calendar + periods. */
368
272
  initializeLedger(graphId: string, options?: InitializeLedgerOptions): Promise<InitializeLedgerResult>;
369
- /**
370
- * Get the current fiscal calendar state pointers, gap, closeable status.
371
- */
372
- getFiscalCalendar(graphId: string): Promise<FiscalCalendarState>;
373
- /**
374
- * Set the close target for a graph. Validates that the target is not in
375
- * the future and not before `closed_through`.
376
- */
377
- setCloseTarget(graphId: string, period: string, note?: string | null): Promise<FiscalCalendarState>;
378
- /**
379
- * Close a fiscal period — the final commit action.
380
- *
381
- * Validates closeable gates, transitions all draft entries in the period
382
- * to `posted`, marks the FiscalPeriod closed, and advances `closed_through`
383
- * (auto-advancing `close_target` when reached).
384
- */
273
+ /** Set the user-controlled close target (YYYY-MM). */
274
+ setCloseTarget(graphId: string, period: string, note?: string | null): Promise<LedgerFiscalCalendar>;
275
+ /** Close a fiscal period — the final commit action. */
385
276
  closePeriod(graphId: string, period: string, options?: ClosePeriodOptions): Promise<ClosePeriodResult>;
277
+ /** Reopen a closed fiscal period. Requires a reason for the audit log. */
278
+ reopenPeriod(graphId: string, period: string, reason: string, note?: string | null): Promise<LedgerFiscalCalendar>;
386
279
  /**
387
- * Reopen a closed fiscal period. Requires a non-empty `reason` for the
388
- * audit log. Posted entries stay posted; the period transitions to
389
- * `closing` so the user can post adjustments and re-close.
390
- */
391
- reopenPeriod(graphId: string, period: string, reason: string, note?: string | null): Promise<FiscalCalendarState>;
392
- /**
393
- * List all draft entries in a fiscal period for review before close.
394
- * Fully expanded with line items, element metadata, and per-entry balance.
395
- *
396
- * Pure read — call repeatedly without side effects.
280
+ * Run a typed GraphQL query against the per-graph endpoint and
281
+ * translate ClientError into a readable facade error.
397
282
  */
398
- listPeriodDrafts(graphId: string, period: string): Promise<PeriodDraftsView>;
283
+ private gqlQuery;
399
284
  /**
400
- * Truncate a schedule end it early by deleting facts with
401
- * `period_start > new_end_date`, along with any stale draft entries they
402
- * produced. Historical posted facts are preserved.
403
- *
404
- * `new_end_date` must be a month-end date (service enforces this).
285
+ * Await an SDK-generated `opXxx(...)` call, throw a readable error on
286
+ * non-2xx, and return the `OperationEnvelope` on success.
405
287
  */
406
- truncateSchedule(graphId: string, structureId: string, options: TruncateScheduleOptions): Promise<TruncateScheduleResult>;
407
- /**
408
- * Create a manual draft closing entry with arbitrary balanced line items.
409
- * Not tied to a schedule — used for disposals, adjustments, and other
410
- * one-off closing events.
411
- *
412
- * Line items must sum to balanced debits/credits. Rejects entries
413
- * targeting an already-closed period.
414
- */
415
- createManualClosingEntry(graphId: string, options: CreateManualClosingEntryOptions): Promise<ClosingEntry>;
288
+ private callOperation;
416
289
  }
290
+ export {};