@mudraforge/statutory 2.7.0 → 2.8.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 (59) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +60 -27
  3. package/bin/cli.js +359 -16
  4. package/docs/CORPUS_QUALITY.md +19 -6
  5. package/docs/PROVENANCE.md +33 -0
  6. package/okf/corporate_ma_restructuring/slump_sale_50b/circulars/cbdt_notification_68_2021_rule_11uae_fmv.md +1 -1
  7. package/okf/corporate_ma_restructuring/slump_sale_50b/circulars/cbic_notification_12_2017_going_concern_exemption.md +1 -1
  8. package/okf/corporate_ma_restructuring/slump_sale_50b/section.json +2 -2
  9. package/okf/direct_tax/special_rates_non_filer_206ab/circulars/cbdt_circular_11_2021_compliance_check.md +1 -1
  10. package/okf/direct_tax/special_rates_non_filer_206ab/section.json +1 -1
  11. package/okf/direct_tax/tcs_goods_206c_1h/circulars/finance_act_2025_sunset_memo.md +1 -1
  12. package/okf/direct_tax/tcs_goods_206c_1h/section.json +3 -3
  13. package/okf/direct_tax/tds_commission_194h/circulars/finance_act_2024_rate_cut_memo.md +1 -1
  14. package/okf/direct_tax/tds_commission_194h/section.json +6 -6
  15. package/okf/direct_tax/tds_contractor_194c/circulars/cbdt_circular_23_2017_gst_unbundling.md +1 -1
  16. package/okf/direct_tax/tds_contractor_194c/section.json +6 -6
  17. package/okf/direct_tax/tds_goods_194q/circulars/cbdt_circular_13_2021_guidelines.md +1 -1
  18. package/okf/direct_tax/tds_goods_194q/circulars/cbdt_circular_23_2017_gst_unbundling.md +1 -1
  19. package/okf/direct_tax/tds_goods_194q/section.json +3 -3
  20. package/okf/direct_tax/tds_goods_393/section.json +3 -3
  21. package/okf/direct_tax/tds_perquisites_194r/circulars/cbdt_circular_12_2022_perquisites.md +1 -1
  22. package/okf/direct_tax/tds_perquisites_194r/section.json +4 -4
  23. package/okf/direct_tax/tds_rent_194i/circulars/cbdt_circular_23_2017_gst_unbundling.md +1 -1
  24. package/okf/direct_tax/tds_rent_194i/section.json +6 -6
  25. package/okf/direct_tax/tds_services_194j/circulars/cbdt_circular_03_2020_fts_rate_cut.md +1 -1
  26. package/okf/direct_tax/tds_services_194j/section.json +3 -3
  27. package/okf/indirect_tax_gst/blocked_itc_17_5/circulars/cbic_circular_172_2022_employer_obligations.md +1 -1
  28. package/okf/indirect_tax_gst/blocked_itc_17_5/section.json +4 -4
  29. package/okf/indirect_tax_gst/composite_mixed_supplies_sec8/circulars/cbic_circular_47_2018_composite_mixed_supplies.md +1 -1
  30. package/okf/indirect_tax_gst/composite_mixed_supplies_sec8/section.json +3 -3
  31. package/okf/indirect_tax_gst/composition_levy_sec10/circulars/cbic_notification_14_2019_composition.md +1 -1
  32. package/okf/indirect_tax_gst/composition_levy_sec10/section.json +2 -2
  33. package/okf/indirect_tax_gst/credit_debit_notes_sec34/circulars/cbic_circular_137_2020_credit_notes.md +1 -1
  34. package/okf/indirect_tax_gst/credit_debit_notes_sec34/section.json +2 -2
  35. package/okf/indirect_tax_gst/e_invoicing_rule48_4/circulars/cbic_notification_10_2023_einvoicing.md +1 -1
  36. package/okf/indirect_tax_gst/e_invoicing_rule48_4/section.json +2 -2
  37. package/okf/indirect_tax_gst/gst_tds_sec51/circulars/cbic_notification_50_2018_gst_tds.md +1 -1
  38. package/okf/indirect_tax_gst/gst_tds_sec51/section.json +6 -6
  39. package/okf/indirect_tax_gst/itc_eligibility_16_2/circulars/cbic_circular_170_2022_itc_reporting.md +1 -1
  40. package/okf/indirect_tax_gst/itc_eligibility_16_2/section.json +4 -4
  41. package/okf/indirect_tax_gst/rcm_liability_sec9_3/circulars/cbic_circular_102_2019_rcm_clarifications.md +1 -1
  42. package/okf/indirect_tax_gst/rcm_liability_sec9_3/section.json +3 -3
  43. package/okf/international_tax/cross_border_remittance_195/circulars/cbdt_circular_03_2022_form10f_electronic.md +1 -1
  44. package/okf/international_tax/cross_border_remittance_195/circulars/supreme_court_engineering_analysis_doctrine.md +1 -1
  45. package/okf/international_tax/cross_border_remittance_195/section.json +3 -3
  46. package/okf/manifest.json +51 -51
  47. package/okf/msme_commercial/delayed_payments_15_16/circulars/msme_om_2021_trader_exclusion.md +1 -1
  48. package/okf/msme_commercial/delayed_payments_15_16/forms/schedule_iii_msme_disclosure.md +1 -1
  49. package/okf/msme_commercial/delayed_payments_15_16/section.json +5 -5
  50. package/okf/msme_commercial/enterprise_classification_sec7/circulars/msme_notification_2119_e_composite_criteria.md +1 -1
  51. package/okf/msme_commercial/enterprise_classification_sec7/section.json +2 -2
  52. package/okf/msme_commercial/mca_msme_1_filing/circulars/mca_order_2019_specified_companies.md +1 -1
  53. package/okf/msme_commercial/mca_msme_1_filing/section.json +2 -2
  54. package/okf/msme_commercial/statutory_disclosures_sec22/circulars/icai_guidance_note_schedule_iii_trade_payables.md +1 -1
  55. package/okf/msme_commercial/statutory_disclosures_sec22/section.json +3 -3
  56. package/okf.publication.json +1 -1
  57. package/package.json +3 -2
  58. package/src/index.js +1162 -2
  59. package/types/index.d.ts +104 -0
package/types/index.d.ts CHANGED
@@ -189,8 +189,112 @@ export declare class StatutoryClient {
189
189
  listSections(): Promise<SectionSummary[]>;
190
190
  checkUpdates(): Promise<UpdateInfo>;
191
191
  sync(): Promise<SyncResult>;
192
+ crosswalk(section: string, options?: CrosswalkOptions): CrosswalkResult;
193
+ diff(options?: StatutoryDiffOptions): StatutoryDiffResult;
194
+ verify(targetDir?: string): any;
195
+ doctor(options?: any): Promise<any>;
192
196
  }
193
197
 
198
+ export interface CrosswalkOptions {
199
+ creditDate?: string;
200
+ paymentDate?: string;
201
+ asOfDate?: string;
202
+ date?: string;
203
+ okfDir?: string;
204
+ }
205
+
206
+ export interface CrosswalkProvision {
207
+ act: string;
208
+ sectionCode: string;
209
+ statutorySection: string;
210
+ title: string;
211
+ threshold?: string;
212
+ standardRate?: string;
213
+ penaltyRate?: string;
214
+ challan?: string;
215
+ returnForm?: string;
216
+ effectiveDate?: string;
217
+ }
218
+
219
+ export interface CrosswalkResult {
220
+ status: 'SUCCESS' | 'ERROR';
221
+ isValid: boolean;
222
+ querySection: string;
223
+ triggerDate: string;
224
+ triggerReason: string;
225
+ triggerDescription: string;
226
+ creditDate: string | null;
227
+ paymentDate: string | null;
228
+ transitionCutoffDate: string;
229
+ governingAct: string;
230
+ applicableSection: string;
231
+ temporalStatus: 'GOVERNED_BY_1961_ACT' | 'GOVERNED_BY_2025_ACT' | 'SUNSET_OMITTED';
232
+ savingsApplied: boolean;
233
+ isOmittedSunset: boolean;
234
+ crosswalk: {
235
+ id: string;
236
+ domain: string;
237
+ predecessor: CrosswalkProvision;
238
+ successor: CrosswalkProvision;
239
+ savingsAuthority: {
240
+ statute: string;
241
+ subsidiary: string;
242
+ legalPrinciple: string;
243
+ };
244
+ };
245
+ legalAnalysis: string;
246
+ }
247
+
248
+ export interface StatutoryDiffOptions {
249
+ section?: string;
250
+ since?: string;
251
+ domain?: string;
252
+ okfDir?: string;
253
+ }
254
+
255
+ export interface StatutoryAmendment {
256
+ id: string;
257
+ sectionCode: string;
258
+ domain: string;
259
+ title: string;
260
+ effectiveDate: string;
261
+ amendmentType: string;
262
+ statute: string;
263
+ legalAuthority: string;
264
+ previousValue: string;
265
+ amendedValue: string;
266
+ changeSummary: string;
267
+ statutoryImpact: string;
268
+ aliases?: string[];
269
+ }
270
+
271
+ export interface StatutoryDiffResult {
272
+ status: 'SUCCESS' | 'ERROR';
273
+ filterSection: string | null;
274
+ filterSince: string | null;
275
+ filterDomain: string | null;
276
+ totalAmendments: number;
277
+ amendments: StatutoryAmendment[];
278
+ }
279
+
280
+ export declare function crosswalkStatute(
281
+ sectionCode: string,
282
+ options?: CrosswalkOptions
283
+ ): CrosswalkResult;
284
+
285
+ export declare function getStatutoryDiff(
286
+ options?: StatutoryDiffOptions
287
+ ): StatutoryDiffResult;
288
+
289
+ export declare function verifyLocalSubstrate(
290
+ okfDir?: string,
291
+ options?: any
292
+ ): any;
293
+
294
+ export declare function runStatutoryDoctor(
295
+ options?: any
296
+ ): Promise<any>;
297
+
194
298
  export interface TaxIdentifierResult {
195
299
  isValid: boolean;
196
300
  checksumValid?: boolean;