@mrtdown/core 2.0.0-alpha.4 → 2.0.0-alpha.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 (85) hide show
  1. package/dist/cli/commands/create.js +3 -3
  2. package/dist/cli/commands/create.js.map +1 -1
  3. package/dist/cli/commands/list.js +2 -2
  4. package/dist/cli/commands/list.js.map +1 -1
  5. package/dist/cli/commands/show.js +3 -3
  6. package/dist/cli/commands/show.js.map +1 -1
  7. package/dist/cli/commands/validate.js +1 -1
  8. package/dist/cli/commands/validate.js.map +1 -1
  9. package/dist/helpers/keyForAffectedEntity.d.ts +1 -1
  10. package/dist/helpers/keyForAffectedEntity.js.map +1 -1
  11. package/dist/helpers/normalizeRecurringPeriod.d.ts +1 -1
  12. package/dist/helpers/normalizeRecurringPeriod.js +1 -1
  13. package/dist/helpers/normalizeRecurringPeriod.js.map +1 -1
  14. package/dist/helpers/normalizeRecurringPeriod.test.js.map +1 -1
  15. package/dist/helpers/resolvePeriods.d.ts +1 -1
  16. package/dist/helpers/resolvePeriods.js +1 -1
  17. package/dist/helpers/resolvePeriods.js.map +1 -1
  18. package/dist/helpers/resolvePeriods.test.js.map +1 -1
  19. package/dist/index.d.ts +25 -25
  20. package/dist/index.js +25 -25
  21. package/dist/index.js.map +1 -1
  22. package/dist/llm/common/MemoryStore.d.ts +2 -2
  23. package/dist/llm/common/MemoryStore.js.map +1 -1
  24. package/dist/llm/common/formatCurrentState.d.ts +2 -2
  25. package/dist/llm/common/formatCurrentState.js.map +1 -1
  26. package/dist/llm/functions/extractClaimsFromNewEvidence/eval.test.js +3 -3
  27. package/dist/llm/functions/extractClaimsFromNewEvidence/eval.test.js.map +1 -1
  28. package/dist/llm/functions/extractClaimsFromNewEvidence/index.d.ts +2 -2
  29. package/dist/llm/functions/extractClaimsFromNewEvidence/index.js +4 -4
  30. package/dist/llm/functions/extractClaimsFromNewEvidence/index.js.map +1 -1
  31. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindLinesTool.d.ts +1 -1
  32. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindLinesTool.js.map +1 -1
  33. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindServicesTool.d.ts +1 -1
  34. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindServicesTool.js +1 -1
  35. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindServicesTool.js.map +1 -1
  36. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindStationsTool.d.ts +2 -2
  37. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindStationsTool.js +2 -2
  38. package/dist/llm/functions/extractClaimsFromNewEvidence/tools/FindStationsTool.js.map +1 -1
  39. package/dist/llm/functions/generateIssueTitleAndSlug/index.js +2 -2
  40. package/dist/llm/functions/generateIssueTitleAndSlug/index.js.map +1 -1
  41. package/dist/llm/functions/translate/index.js +4 -4
  42. package/dist/llm/functions/translate/index.js.map +1 -1
  43. package/dist/llm/functions/triageNewEvidence/eval.test.js +2 -2
  44. package/dist/llm/functions/triageNewEvidence/eval.test.js.map +1 -1
  45. package/dist/llm/functions/triageNewEvidence/index.d.ts +1 -1
  46. package/dist/llm/functions/triageNewEvidence/index.js +4 -4
  47. package/dist/llm/functions/triageNewEvidence/index.js.map +1 -1
  48. package/dist/llm/functions/triageNewEvidence/tools/FindIssuesTool.d.ts +2 -2
  49. package/dist/llm/functions/triageNewEvidence/tools/FindIssuesTool.js +1 -1
  50. package/dist/llm/functions/triageNewEvidence/tools/FindIssuesTool.js.map +1 -1
  51. package/dist/llm/functions/triageNewEvidence/tools/GetIssueTool.d.ts +1 -1
  52. package/dist/llm/functions/triageNewEvidence/tools/GetIssueTool.js +1 -1
  53. package/dist/llm/functions/triageNewEvidence/tools/GetIssueTool.js.map +1 -1
  54. package/dist/repo/issue/IssueRepository.d.ts +1 -1
  55. package/dist/repo/issue/IssueRepository.js +3 -3
  56. package/dist/repo/issue/IssueRepository.js.map +1 -1
  57. package/dist/repo/issue/helpers/deriveCurrentState.d.ts +6 -6
  58. package/dist/repo/issue/helpers/deriveCurrentState.js +1 -1
  59. package/dist/repo/issue/helpers/deriveCurrentState.js.map +1 -1
  60. package/dist/repo/issue/helpers/deriveCurrentState.test.js.map +1 -1
  61. package/dist/schema/issue/evidence.js +1 -1
  62. package/dist/schema/issue/evidence.js.map +1 -1
  63. package/dist/schema/issue/issue.js +1 -1
  64. package/dist/schema/issue/issue.js.map +1 -1
  65. package/dist/util/ingestContent/helpers/getSlugDateTimeFromClaims.d.ts +1 -1
  66. package/dist/util/ingestContent/helpers/getSlugDateTimeFromClaims.js +1 -1
  67. package/dist/util/ingestContent/helpers/getSlugDateTimeFromClaims.js.map +1 -1
  68. package/dist/util/ingestContent/index.js +9 -9
  69. package/dist/util/ingestContent/index.js.map +1 -1
  70. package/dist/validators/buildContext.js +6 -6
  71. package/dist/validators/buildContext.js.map +1 -1
  72. package/dist/validators/issue.d.ts +1 -1
  73. package/dist/validators/issue.js +3 -3
  74. package/dist/validators/issue.js.map +1 -1
  75. package/dist/validators/line.d.ts +1 -1
  76. package/dist/validators/line.js +1 -1
  77. package/dist/validators/line.js.map +1 -1
  78. package/dist/validators/operator.js +1 -1
  79. package/dist/validators/operator.js.map +1 -1
  80. package/dist/validators/town.d.ts +1 -1
  81. package/dist/validators/town.js +1 -1
  82. package/dist/validators/town.js.map +1 -1
  83. package/dist/write/issue/IssueWriter.d.ts +3 -3
  84. package/dist/write/issue/IssueWriter.js.map +1 -1
  85. package/package.json +1 -10
@@ -1 +1 @@
1
- {"version":3,"file":"town.js","sourceRoot":"/","sources":["validators/town.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,kBAAkB,CAChC,IAAa;IAEb,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE;KAC1E,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAU,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { join } from 'node:path';\nimport type { IStore } from '#repo/common/store.js';\nimport { TownSchema } from '#schema/Town.js';\nimport { DIR_TOWN } from '../constants.js';\nimport type { ValidationError } from './types.js';\nimport { loadJson } from './utils.js';\n\nexport function validateTownSchema(\n data: unknown,\n): { file: string; message: string }[] {\n const result = TownSchema.safeParse(data);\n if (result.success) return [];\n return result.error.issues.map((i) => ({\n file: '',\n message: `${i.path.length > 0 ? i.path.join('.') : 'root'}: ${i.message}`,\n }));\n}\n\nexport function validateTowns(store: IStore): ValidationError[] {\n const errors: ValidationError[] = [];\n try {\n const files = store.listDir(DIR_TOWN);\n for (const file of files) {\n if (!file.endsWith('.json')) continue;\n const relPath = join(DIR_TOWN, file);\n const raw = loadJson<unknown>(store, relPath);\n if (raw === null) {\n errors.push({ file: relPath, message: 'Failed to parse JSON' });\n continue;\n }\n const schemaErrs = validateTownSchema(raw);\n for (const e of schemaErrs) {\n errors.push({ ...e, file: e.file || relPath });\n }\n }\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code !== 'ENOENT') {\n errors.push({\n file: DIR_TOWN,\n message: err instanceof Error ? err.message : String(err),\n });\n }\n }\n return errors;\n}\n"]}
1
+ {"version":3,"file":"town.js","sourceRoot":"/","sources":["validators/town.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,kBAAkB,CAChC,IAAa;IAEb,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE;KAC1E,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAU,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { join } from 'node:path';\nimport type { IStore } from '../repo/common/store.js';\nimport { TownSchema } from '../schema/Town.js';\nimport { DIR_TOWN } from '../constants.js';\nimport type { ValidationError } from './types.js';\nimport { loadJson } from './utils.js';\n\nexport function validateTownSchema(\n data: unknown,\n): { file: string; message: string }[] {\n const result = TownSchema.safeParse(data);\n if (result.success) return [];\n return result.error.issues.map((i) => ({\n file: '',\n message: `${i.path.length > 0 ? i.path.join('.') : 'root'}: ${i.message}`,\n }));\n}\n\nexport function validateTowns(store: IStore): ValidationError[] {\n const errors: ValidationError[] = [];\n try {\n const files = store.listDir(DIR_TOWN);\n for (const file of files) {\n if (!file.endsWith('.json')) continue;\n const relPath = join(DIR_TOWN, file);\n const raw = loadJson<unknown>(store, relPath);\n if (raw === null) {\n errors.push({ file: relPath, message: 'Failed to parse JSON' });\n continue;\n }\n const schemaErrs = validateTownSchema(raw);\n for (const e of schemaErrs) {\n errors.push({ ...e, file: e.file || relPath });\n }\n }\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code !== 'ENOENT') {\n errors.push({\n file: DIR_TOWN,\n message: err instanceof Error ? err.message : String(err),\n });\n }\n }\n return errors;\n}\n"]}
@@ -1,6 +1,6 @@
1
- import type { Evidence } from '#schema/issue/evidence.js';
2
- import type { ImpactEvent } from '#schema/issue/impactEvent.js';
3
- import type { Issue } from '#schema/issue/issue.js';
1
+ import type { Evidence } from '../../schema/issue/evidence.js';
2
+ import type { ImpactEvent } from '../../schema/issue/impactEvent.js';
3
+ import type { Issue } from '../../schema/issue/issue.js';
4
4
  import type { IWriteStore } from '../common/store.js';
5
5
  export declare class IssueWriter {
6
6
  private readonly store;
@@ -1 +1 @@
1
- {"version":3,"file":"IssueWriter.js","sourceRoot":"/","sources":["write/issue/IssueWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EACL,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,OAAO,WAAW;IACL,KAAK,CAAc;IAEpC,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,QAAkB;QAChD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,EACpD,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpC,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,OAAe,EAAE,MAAmB;QAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,EAClD,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAClC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAe;QACjC,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF","sourcesContent":["import { join } from 'node:path';\nimport { NdJson } from 'json-nd';\nimport type { Evidence } from '#schema/issue/evidence.js';\nimport type { ImpactEvent } from '#schema/issue/impactEvent.js';\nimport type { Issue } from '#schema/issue/issue.js';\nimport {\n DIR_ISSUE,\n FILE_ISSUE,\n FILE_ISSUE_EVIDENCE,\n FILE_ISSUE_IMPACT,\n} from '../../constants.js';\nimport type { IWriteStore } from '../common/store.js';\n\nexport class IssueWriter {\n private readonly store: IWriteStore;\n\n constructor(store: IWriteStore) {\n this.store = store;\n }\n\n create(issue: Issue): void {\n const issueDir = this.getIssueDir(issue.id);\n this.store.ensureDir(issueDir);\n this.store.writeJson(join(issueDir, FILE_ISSUE), issue);\n this.store.writeText(join(issueDir, FILE_ISSUE_EVIDENCE), '');\n this.store.writeText(join(issueDir, FILE_ISSUE_IMPACT), '');\n }\n\n appendEvidence(issueId: string, evidence: Evidence): void {\n this.store.ensureDir(this.getIssueDir(issueId));\n this.store.appendText(\n join(this.getIssueDir(issueId), FILE_ISSUE_EVIDENCE),\n `${NdJson.stringify([evidence])}\\n`,\n );\n }\n\n appendImpact(issueId: string, impact: ImpactEvent): void {\n this.store.ensureDir(this.getIssueDir(issueId));\n this.store.appendText(\n join(this.getIssueDir(issueId), FILE_ISSUE_IMPACT),\n `${NdJson.stringify([impact])}\\n`,\n );\n }\n\n private getIssueDir(issueId: string): string {\n const tsMatch = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(issueId);\n if (!tsMatch) {\n throw new Error(`Invalid issue ID: ${issueId}`);\n }\n const [_, year, month] = tsMatch;\n return join(DIR_ISSUE, year, month, issueId);\n }\n}\n"]}
1
+ {"version":3,"file":"IssueWriter.js","sourceRoot":"/","sources":["write/issue/IssueWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EACL,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,OAAO,WAAW;IACL,KAAK,CAAc;IAEpC,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,QAAkB;QAChD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,EACpD,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpC,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,OAAe,EAAE,MAAmB;QAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,UAAU,CACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,EAClD,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAClC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAe;QACjC,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF","sourcesContent":["import { join } from 'node:path';\nimport { NdJson } from 'json-nd';\nimport type { Evidence } from '../../schema/issue/evidence.js';\nimport type { ImpactEvent } from '../../schema/issue/impactEvent.js';\nimport type { Issue } from '../../schema/issue/issue.js';\nimport {\n DIR_ISSUE,\n FILE_ISSUE,\n FILE_ISSUE_EVIDENCE,\n FILE_ISSUE_IMPACT,\n} from '../../constants.js';\nimport type { IWriteStore } from '../common/store.js';\n\nexport class IssueWriter {\n private readonly store: IWriteStore;\n\n constructor(store: IWriteStore) {\n this.store = store;\n }\n\n create(issue: Issue): void {\n const issueDir = this.getIssueDir(issue.id);\n this.store.ensureDir(issueDir);\n this.store.writeJson(join(issueDir, FILE_ISSUE), issue);\n this.store.writeText(join(issueDir, FILE_ISSUE_EVIDENCE), '');\n this.store.writeText(join(issueDir, FILE_ISSUE_IMPACT), '');\n }\n\n appendEvidence(issueId: string, evidence: Evidence): void {\n this.store.ensureDir(this.getIssueDir(issueId));\n this.store.appendText(\n join(this.getIssueDir(issueId), FILE_ISSUE_EVIDENCE),\n `${NdJson.stringify([evidence])}\\n`,\n );\n }\n\n appendImpact(issueId: string, impact: ImpactEvent): void {\n this.store.ensureDir(this.getIssueDir(issueId));\n this.store.appendText(\n join(this.getIssueDir(issueId), FILE_ISSUE_IMPACT),\n `${NdJson.stringify([impact])}\\n`,\n );\n }\n\n private getIssueDir(issueId: string): string {\n const tsMatch = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(issueId);\n if (!tsMatch) {\n throw new Error(`Invalid issue ID: ${issueId}`);\n }\n const [_, year, month] = tsMatch;\n return join(DIR_ISSUE, year, month, issueId);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrtdown/core",
3
- "version": "2.0.0-alpha.4",
3
+ "version": "2.0.0-alpha.5",
4
4
  "description": "Data repository",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -58,14 +58,5 @@
58
58
  },
59
59
  "publishConfig": {
60
60
  "access": "public"
61
- },
62
- "imports": {
63
- "#repo/*": "./src/repo/*",
64
- "#schema/*": "./src/schema/*",
65
- "#write/*": "./src/write/*",
66
- "#helpers/*": "./src/helpers/*",
67
- "#util/*": "./src/util/*",
68
- "#validators/*": "./src/validators/*",
69
- "#llm/*": "./src/llm/*"
70
61
  }
71
62
  }