@ttsc/graph 0.27.0 → 0.28.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 (82) hide show
  1. package/README.md +3 -1
  2. package/lib/index.d.ts +1 -1
  3. package/lib/index.js +15 -3
  4. package/lib/index.js.map +1 -1
  5. package/lib/model/TtscGraphMemory.d.ts +26 -0
  6. package/lib/model/TtscGraphMemory.js +121 -2
  7. package/lib/model/TtscGraphMemory.js.map +1 -1
  8. package/lib/model/TtscGraphSession.d.ts +23 -0
  9. package/lib/model/TtscGraphSession.js +248 -96
  10. package/lib/model/TtscGraphSession.js.map +1 -1
  11. package/lib/model/TtscGraphShardStore.js +6 -1
  12. package/lib/model/TtscGraphShardStore.js.map +1 -1
  13. package/lib/model/TtscLintDaemon.d.ts +54 -0
  14. package/lib/model/TtscLintDaemon.js +166 -0
  15. package/lib/model/TtscLintDaemon.js.map +1 -0
  16. package/lib/model/loadGraph.d.ts +8 -1
  17. package/lib/model/loadGraph.js +144 -72
  18. package/lib/model/loadGraph.js.map +1 -1
  19. package/lib/model/publishedArtifacts.d.ts +142 -0
  20. package/lib/model/publishedArtifacts.js +403 -0
  21. package/lib/model/publishedArtifacts.js.map +1 -0
  22. package/lib/reduce.js +20 -7
  23. package/lib/reduce.js.map +1 -1
  24. package/lib/server/createServer.js +38 -2
  25. package/lib/server/createServer.js.map +1 -1
  26. package/lib/server/runDetails.d.ts +15 -0
  27. package/lib/server/runDetails.js +48 -0
  28. package/lib/server/runDetails.js.map +1 -1
  29. package/lib/server/runEntrypoints.js +7 -1
  30. package/lib/server/runEntrypoints.js.map +1 -1
  31. package/lib/server/runLookup.js +129 -11
  32. package/lib/server/runLookup.js.map +1 -1
  33. package/lib/structures/ITtscGraphApplication.d.ts +3 -1
  34. package/lib/structures/ITtscGraphDetails.d.ts +12 -0
  35. package/lib/structures/ITtscGraphDocTag.d.ts +44 -0
  36. package/lib/structures/ITtscGraphDocTag.js +3 -0
  37. package/lib/structures/ITtscGraphDocTag.js.map +1 -0
  38. package/lib/structures/ITtscGraphDump.d.ts +23 -4
  39. package/lib/structures/ITtscGraphLookup.d.ts +29 -0
  40. package/lib/structures/ITtscGraphNode.d.ts +25 -0
  41. package/lib/structures/TtscGraphArtifactNodeKind.d.ts +23 -0
  42. package/lib/structures/TtscGraphArtifactNodeKind.js +37 -0
  43. package/lib/structures/TtscGraphArtifactNodeKind.js.map +1 -0
  44. package/lib/structures/TtscGraphDumpEdgeKind.d.ts +1 -1
  45. package/lib/structures/TtscGraphDumpNodeKind.d.ts +10 -2
  46. package/lib/structures/TtscGraphEdgeKind.d.ts +8 -1
  47. package/lib/structures/TtscGraphNodeKind.d.ts +1 -1
  48. package/lib/structures/index.d.ts +2 -0
  49. package/lib/structures/index.js +2 -0
  50. package/lib/structures/index.js.map +1 -1
  51. package/lib/view.js +17 -1
  52. package/lib/view.js.map +1 -1
  53. package/lib/viewer/index.html +5 -13
  54. package/lib/viewer/viewer.js +190 -190
  55. package/package.json +5 -5
  56. package/src/index.ts +23 -6
  57. package/src/model/TtscGraphMemory.ts +118 -2
  58. package/src/model/TtscGraphSession.ts +112 -2
  59. package/src/model/TtscGraphShardStore.ts +6 -1
  60. package/src/model/TtscLintDaemon.ts +179 -0
  61. package/src/model/loadGraph.ts +29 -5
  62. package/src/model/publishedArtifacts.ts +548 -0
  63. package/src/reduce.ts +20 -7
  64. package/src/server/runDetails.ts +52 -1
  65. package/src/server/runEntrypoints.ts +7 -1
  66. package/src/server/runLookup.ts +139 -14
  67. package/src/structures/ITtscGraphApplication.ts +3 -1
  68. package/src/structures/ITtscGraphDetails.ts +13 -0
  69. package/src/structures/ITtscGraphDocTag.ts +45 -0
  70. package/src/structures/ITtscGraphDump.ts +25 -4
  71. package/src/structures/ITtscGraphLookup.ts +31 -0
  72. package/src/structures/ITtscGraphNode.ts +27 -0
  73. package/src/structures/TtscGraphArtifactNodeKind.ts +35 -0
  74. package/src/structures/TtscGraphDumpEdgeKind.ts +1 -0
  75. package/src/structures/TtscGraphDumpNodeKind.ts +16 -2
  76. package/src/structures/TtscGraphEdgeKind.ts +8 -0
  77. package/src/structures/TtscGraphNodeKind.ts +7 -1
  78. package/src/structures/index.ts +2 -0
  79. package/src/view.ts +17 -1
  80. package/src/viewer/index.html +5 -13
  81. package/src/viewer/legend.ts +107 -0
  82. package/src/viewer/main.ts +19 -21
@@ -45,7 +45,9 @@ const nativeExecutable_1 = require("../nativeExecutable");
45
45
  const resolveGraphBinary_1 = require("../resolveGraphBinary");
46
46
  const TtscGraphMemory_1 = require("./TtscGraphMemory");
47
47
  const TtscGraphShardStore_1 = require("./TtscGraphShardStore");
48
+ const TtscLintDaemon_1 = require("./TtscLintDaemon");
48
49
  const loadGraph_1 = require("./loadGraph");
50
+ const publishedArtifacts_1 = require("./publishedArtifacts");
49
51
  /**
50
52
  * The serve protocol version this client speaks.
51
53
  *
@@ -75,6 +77,26 @@ class TtscGraphSession {
75
77
  queue = Promise.resolve();
76
78
  current;
77
79
  shardStore = new TtscGraphShardStore_1.TtscGraphShardStore();
80
+ /**
81
+ * The artifact answer the resident child was last handed, and the state of
82
+ * the inputs it came from.
83
+ *
84
+ * `undefined` only before a child exists. Once one does this is always an
85
+ * answer, including the answer that the project publishes nothing — which
86
+ * still carries inputs, so that adding a publisher is something a running
87
+ * session can notice.
88
+ */
89
+ artifacts;
90
+ /**
91
+ * One resident `@ttsc/lint` sidecar per plugin binary, opened lazily.
92
+ *
93
+ * A republish asks two verbs of every configured publisher, and a session
94
+ * republishes whenever a document moves. Held open, those questions cost a
95
+ * request each instead of a process, a plugin load and a configuration
96
+ * evaluation each. Keyed by binary because that is what a daemon is: the same
97
+ * binary answering for the same project.
98
+ */
99
+ daemons = new Map();
78
100
  closed = false;
79
101
  constructor(options) {
80
102
  // Resolve the platform binary from the project this session serves, so the
@@ -144,6 +166,13 @@ class TtscGraphSession {
144
166
  if (this.closed)
145
167
  return;
146
168
  this.closed = true;
169
+ // The sidecars outlive nothing. A daemon is a child process this session
170
+ // opened, and a session that closed without stopping them would leave one
171
+ // resident Program per configured publisher alive for as long as the parent
172
+ // ran.
173
+ for (const daemon of this.daemons.values())
174
+ daemon.close();
175
+ this.daemons.clear();
147
176
  const error = new Error("@ttsc/graph: native session closed");
148
177
  if (this.child !== undefined)
149
178
  this.failChild(this.child, error);
@@ -153,6 +182,7 @@ class TtscGraphSession {
153
182
  async refresh(signal) {
154
183
  // The protocol version and the envelope shape were both settled in onLine,
155
184
  // before this frame was ever routed here.
185
+ await this.republishArtifacts(signal);
156
186
  const response = await this.request(signal);
157
187
  this.assertResponseSemantics(response);
158
188
  if (response.error !== undefined) {
@@ -211,6 +241,53 @@ class TtscGraphSession {
211
241
  this.failChild(this.child, error);
212
242
  throw error;
213
243
  }
244
+ /**
245
+ * Re-derive the artifact set when the documents or configuration behind it
246
+ * moved, before the request that would otherwise answer with the old one.
247
+ *
248
+ * A resident session is invalidated by the compiler's own build universe, and
249
+ * none of this is in it: the documents a rule reads are not Program inputs,
250
+ * which is the property that keeps a Markdown edit from costing a typecheck.
251
+ * The cost of that property is that nothing else notices the edit at all, so
252
+ * this is what notices it.
253
+ *
254
+ * Only the overlay is replaced. The child is not restarted and the Program is
255
+ * not reloaded — the native session compares the file it is handed against
256
+ * the one it applied, and re-projects the resident program when they differ.
257
+ *
258
+ * Asked of sidecars this session keeps open, and awaited rather than blocking
259
+ * the event loop. A republish still costs the rule a Program — the daemon is
260
+ * told to drop its warm one, because the sources a claim activates against
261
+ * have been edited too — but not a process, a plugin load and a configuration
262
+ * evaluation per verb. An already-cancelled request does not start one.
263
+ */
264
+ async republishArtifacts(signal) {
265
+ if (signal?.aborted)
266
+ return;
267
+ // A child yet to be spawned publishes on the way up, so there is nothing
268
+ // here to keep fresh until one does.
269
+ if (this.child === undefined || this.artifacts === undefined)
270
+ return;
271
+ if (!(0, publishedArtifacts_1.artifactsAreStale)(this.artifacts))
272
+ return;
273
+ const next = await (0, publishedArtifacts_1.publishArtifactsResident)({ cwd: this.cwd, tsconfig: this.tsconfig }, (plugin) => this.daemon(plugin));
274
+ // The new answer is taken whatever it says, including that the project now
275
+ // publishes nothing. Keeping the old set on a `null` would be guessing that
276
+ // the publisher failed rather than that it was removed, and guessing wrong
277
+ // in that direction is the unrecoverable one: a session that answers with
278
+ // artifacts from a plugin the user deleted keeps doing so until it is
279
+ // restarted, while a transient failure is repaired by the next edit.
280
+ this.artifacts = next;
281
+ }
282
+ /** The open sidecar for one plugin, opened on first use. */
283
+ daemon(plugin) {
284
+ const open = this.daemons.get(plugin.binary);
285
+ if (open !== undefined)
286
+ return open;
287
+ const created = new TtscLintDaemon_1.TtscLintDaemon(plugin, this.cwd, this.tsconfig);
288
+ this.daemons.set(plugin.binary, created);
289
+ return created;
290
+ }
214
291
  request(signal) {
215
292
  if (signal?.aborted)
216
293
  throw cancelledError(signal);
@@ -232,7 +309,18 @@ class TtscGraphSession {
232
309
  pending.abort();
233
310
  return;
234
311
  }
235
- child.process.stdin.write(`${JSON.stringify({ id, graphSnapshotVersion: GRAPH_SNAPSHOT_PROTOCOL_VERSION })}\n`, (error) => {
312
+ child.process.stdin.write(`${JSON.stringify({
313
+ id,
314
+ graphSnapshotVersion: GRAPH_SNAPSHOT_PROTOCOL_VERSION,
315
+ // Empty when the project publishes nothing, which withdraws whatever
316
+ // the server holds: a publisher the user removed must stop being
317
+ // answered with, and omitting the field instead would say only that
318
+ // this client has no opinion. Omitted only before a child exists,
319
+ // which no request reaches.
320
+ artifacts: this.artifacts === undefined
321
+ ? undefined
322
+ : (this.artifacts.file ?? ""),
323
+ })}\n`, (error) => {
236
324
  if (error === null || error === undefined)
237
325
  return;
238
326
  if (this.pending.get(id) !== pending)
@@ -252,7 +340,19 @@ class TtscGraphSession {
252
340
  this.child.process.signalCode === null) {
253
341
  return this.child;
254
342
  }
255
- const process = (0, node_child_process_1.spawn)(this.binary, ["serve", "--cwd", this.cwd, "--tsconfig", this.tsconfig], { stdio: ["pipe", "pipe", "pipe"], windowsHide: true });
343
+ const artifacts = (0, publishedArtifacts_1.publishArtifacts)({
344
+ cwd: this.cwd,
345
+ tsconfig: this.tsconfig,
346
+ });
347
+ this.artifacts = artifacts;
348
+ const process = (0, node_child_process_1.spawn)(this.binary, [
349
+ "serve",
350
+ "--cwd",
351
+ this.cwd,
352
+ "--tsconfig",
353
+ this.tsconfig,
354
+ ...(artifacts.file === null ? [] : ["--artifacts", artifacts.file]),
355
+ ], { stdio: ["pipe", "pipe", "pipe"], windowsHide: true });
256
356
  const lines = node_readline_1.default.createInterface({ input: process.stdout });
257
357
  const child = { process, lines, stderr: "" };
258
358
  this.child = child;
@@ -313,7 +413,7 @@ class TtscGraphSession {
313
413
  const _ip3 = input => "string" === typeof input["tsconfig"];
314
414
  const _ip4 = input => Array.isArray(input["diagnostics"]) && input["diagnostics"].every(elem => "object" === typeof elem && null !== elem && _io8(elem));
315
415
  const _ip5 = input => Array.isArray(input["nodes"]) && input["nodes"].every(elem => "object" === typeof elem && null !== elem && _io9(elem));
316
- const _ip6 = input => Array.isArray(input["edges"]) && input["edges"].every(elem => "object" === typeof elem && null !== elem && _io15(elem));
416
+ const _ip6 = input => Array.isArray(input["edges"]) && input["edges"].every(elem => "object" === typeof elem && null !== elem && _io16(elem));
317
417
  const _ip7 = input => "number" === typeof input["schemaVersion"];
318
418
  const _ip8 = input => "object" === typeof input["producer"] && null !== input["producer"] && _io3(input["producer"]);
319
419
  const _ip9 = input => "object" === typeof input["universe"] && null !== input["universe"] && _io4(input["universe"]);
@@ -332,11 +432,15 @@ class TtscGraphSession {
332
432
  const _ip21 = input => undefined === input["enumMembers"] || Array.isArray(input["enumMembers"]) && input["enumMembers"].every(elem => "object" === typeof elem && null !== elem && _io10(elem));
333
433
  const _ip22 = input => undefined === input["objectMembers"] || Array.isArray(input["objectMembers"]) && input["objectMembers"].every(elem => "object" === typeof elem && null !== elem && _io11(elem));
334
434
  const _ip23 = input => undefined === input["decorators"] || Array.isArray(input["decorators"]) && input["decorators"].every(elem => "object" === typeof elem && null !== elem && _io12(elem));
335
- const _ip24 = input => undefined === input["signature"] || "string" === typeof input["signature"];
336
- const _ip25 = input => "class" === input["kind"] || "enum" === input["kind"] || "function" === input["kind"] || "interface" === input["kind"] || "method" === input["kind"] || "module" === input["kind"] || "type" === input["kind"] || "variable" === input["kind"];
337
- const _ip26 = input => undefined === input["evidence"] || "object" === typeof input["evidence"] && null !== input["evidence"] && _io14(input["evidence"]);
338
- const _ip27 = input => undefined === input["implementation"] || "object" === typeof input["implementation"] && null !== input["implementation"] && _io14(input["implementation"]);
339
- const _ip28 = input => "string" === typeof input["key"];
435
+ const _ip24 = input => undefined === input["docTags"] || Array.isArray(input["docTags"]) && input["docTags"].every(elem => "object" === typeof elem && null !== elem && _io14(elem));
436
+ const _ip25 = input => undefined === input["signature"] || "string" === typeof input["signature"];
437
+ const _ip26 = input => true === _iv1.has(input["kind"]);
438
+ const _iv1 = new Set(["class", "enum", "function", "interface", "markdown_document", "markdown_section", "method", "module", "prisma_column", "prisma_model", "prisma_relation", "swagger_operation", "type", "variable"]);
439
+ const _ip27 = input => undefined === input["parent"] || "string" === typeof input["parent"];
440
+ const _ip28 = input => undefined === input["evidence"] || "object" === typeof input["evidence"] && null !== input["evidence"] && _io15(input["evidence"]);
441
+ const _ip29 = input => undefined === input["implementation"] || "object" === typeof input["implementation"] && null !== input["implementation"] && _io15(input["implementation"]);
442
+ const _iv2 = new Set(["accesses", "calls", "doc_ref", "exports", "extends", "implements", "instantiates", "overrides", "renders", "type_ref"]);
443
+ const _ip30 = input => "string" === typeof input["key"];
340
444
  const _ap0 = (input, _path, _exceptionable = true) => "number" === typeof input["protocolVersion"] || _assertGuard_1._assertGuard(_exceptionable, {
341
445
  method: "typia.assert",
342
446
  path: _path + ".protocolVersion",
@@ -348,9 +452,9 @@ class TtscGraphSession {
348
452
  path: _path + ".capabilities",
349
453
  expected: "Array<string>",
350
454
  value: input["capabilities"]
351
- }, _errorFactory)) && input["capabilities"].every((elem, _index17) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
455
+ }, _errorFactory)) && input["capabilities"].every((elem, _index18) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
352
456
  method: "typia.assert",
353
- path: _path + ".capabilities[" + _index17 + "]",
457
+ path: _path + ".capabilities[" + _index18 + "]",
354
458
  expected: "string",
355
459
  value: elem
356
460
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -376,14 +480,14 @@ class TtscGraphSession {
376
480
  path: _path + ".diagnostics",
377
481
  expected: "Array<ITtscGraphDump.IDiagnostic>",
378
482
  value: input["diagnostics"]
379
- }, _errorFactory)) && input["diagnostics"].every((elem, _index18) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
483
+ }, _errorFactory)) && input["diagnostics"].every((elem, _index19) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
380
484
  method: "typia.assert",
381
- path: _path + ".diagnostics[" + _index18 + "]",
485
+ path: _path + ".diagnostics[" + _index19 + "]",
382
486
  expected: "ITtscGraphDump.IDiagnostic",
383
487
  value: elem
384
- }, _errorFactory)) && _ao8(elem, _path + ".diagnostics[" + _index18 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
488
+ }, _errorFactory)) && _ao8(elem, _path + ".diagnostics[" + _index19 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
385
489
  method: "typia.assert",
386
- path: _path + ".diagnostics[" + _index18 + "]",
490
+ path: _path + ".diagnostics[" + _index19 + "]",
387
491
  expected: "ITtscGraphDump.IDiagnostic",
388
492
  value: elem
389
493
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -397,14 +501,14 @@ class TtscGraphSession {
397
501
  path: _path + ".nodes",
398
502
  expected: "Array<ITtscGraphDump.INode>",
399
503
  value: input["nodes"]
400
- }, _errorFactory)) && input["nodes"].every((elem, _index19) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
504
+ }, _errorFactory)) && input["nodes"].every((elem, _index20) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
401
505
  method: "typia.assert",
402
- path: _path + ".nodes[" + _index19 + "]",
506
+ path: _path + ".nodes[" + _index20 + "]",
403
507
  expected: "ITtscGraphDump.INode",
404
508
  value: elem
405
- }, _errorFactory)) && _ao9(elem, _path + ".nodes[" + _index19 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
509
+ }, _errorFactory)) && _ao9(elem, _path + ".nodes[" + _index20 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
406
510
  method: "typia.assert",
407
- path: _path + ".nodes[" + _index19 + "]",
511
+ path: _path + ".nodes[" + _index20 + "]",
408
512
  expected: "ITtscGraphDump.INode",
409
513
  value: elem
410
514
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -418,14 +522,14 @@ class TtscGraphSession {
418
522
  path: _path + ".edges",
419
523
  expected: "Array<ITtscGraphDump.IEdge>",
420
524
  value: input["edges"]
421
- }, _errorFactory)) && input["edges"].every((elem, _index20) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
525
+ }, _errorFactory)) && input["edges"].every((elem, _index21) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
422
526
  method: "typia.assert",
423
- path: _path + ".edges[" + _index20 + "]",
527
+ path: _path + ".edges[" + _index21 + "]",
424
528
  expected: "ITtscGraphDump.IEdge",
425
529
  value: elem
426
- }, _errorFactory)) && _ao15(elem, _path + ".edges[" + _index20 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
530
+ }, _errorFactory)) && _ao16(elem, _path + ".edges[" + _index21 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
427
531
  method: "typia.assert",
428
- path: _path + ".edges[" + _index20 + "]",
532
+ path: _path + ".edges[" + _index21 + "]",
429
533
  expected: "ITtscGraphDump.IEdge",
430
534
  value: elem
431
535
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -521,9 +625,9 @@ class TtscGraphSession {
521
625
  path: _path + ".modifiers",
522
626
  expected: "(Array<TtscGraphNodeModifier> | undefined)",
523
627
  value: input["modifiers"]
524
- }, _errorFactory)) && input["modifiers"].every((elem, _index24) => true === _av0.has(elem) || _assertGuard_1._assertGuard(_exceptionable, {
628
+ }, _errorFactory)) && input["modifiers"].every((elem, _index25) => true === _av0.has(elem) || _assertGuard_1._assertGuard(_exceptionable, {
525
629
  method: "typia.assert",
526
- path: _path + ".modifiers[" + _index24 + "]",
630
+ path: _path + ".modifiers[" + _index25 + "]",
527
631
  expected: _ae0,
528
632
  value: elem
529
633
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -539,9 +643,9 @@ class TtscGraphSession {
539
643
  path: _path + ".literals",
540
644
  expected: "(Array<string> | undefined)",
541
645
  value: input["literals"]
542
- }, _errorFactory)) && input["literals"].every((elem, _index25) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
646
+ }, _errorFactory)) && input["literals"].every((elem, _index26) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
543
647
  method: "typia.assert",
544
- path: _path + ".literals[" + _index25 + "]",
648
+ path: _path + ".literals[" + _index26 + "]",
545
649
  expected: "string",
546
650
  value: elem
547
651
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -555,14 +659,14 @@ class TtscGraphSession {
555
659
  path: _path + ".enumMembers",
556
660
  expected: "(Array<ITtscGraphNode.IEnumMember> | undefined)",
557
661
  value: input["enumMembers"]
558
- }, _errorFactory)) && input["enumMembers"].every((elem, _index26) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
662
+ }, _errorFactory)) && input["enumMembers"].every((elem, _index27) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
559
663
  method: "typia.assert",
560
- path: _path + ".enumMembers[" + _index26 + "]",
664
+ path: _path + ".enumMembers[" + _index27 + "]",
561
665
  expected: "ITtscGraphNode.IEnumMember",
562
666
  value: elem
563
- }, _errorFactory)) && _ao10(elem, _path + ".enumMembers[" + _index26 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
667
+ }, _errorFactory)) && _ao10(elem, _path + ".enumMembers[" + _index27 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
564
668
  method: "typia.assert",
565
- path: _path + ".enumMembers[" + _index26 + "]",
669
+ path: _path + ".enumMembers[" + _index27 + "]",
566
670
  expected: "ITtscGraphNode.IEnumMember",
567
671
  value: elem
568
672
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -576,14 +680,14 @@ class TtscGraphSession {
576
680
  path: _path + ".objectMembers",
577
681
  expected: "(Array<ITtscGraphNode.IObjectMember> | undefined)",
578
682
  value: input["objectMembers"]
579
- }, _errorFactory)) && input["objectMembers"].every((elem, _index27) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
683
+ }, _errorFactory)) && input["objectMembers"].every((elem, _index28) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
580
684
  method: "typia.assert",
581
- path: _path + ".objectMembers[" + _index27 + "]",
685
+ path: _path + ".objectMembers[" + _index28 + "]",
582
686
  expected: "ITtscGraphNode.IObjectMember",
583
687
  value: elem
584
- }, _errorFactory)) && _ao11(elem, _path + ".objectMembers[" + _index27 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
688
+ }, _errorFactory)) && _ao11(elem, _path + ".objectMembers[" + _index28 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
585
689
  method: "typia.assert",
586
- path: _path + ".objectMembers[" + _index27 + "]",
690
+ path: _path + ".objectMembers[" + _index28 + "]",
587
691
  expected: "ITtscGraphNode.IObjectMember",
588
692
  value: elem
589
693
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -597,14 +701,14 @@ class TtscGraphSession {
597
701
  path: _path + ".decorators",
598
702
  expected: "(Array<ITtscGraphDecorator> | undefined)",
599
703
  value: input["decorators"]
600
- }, _errorFactory)) && input["decorators"].every((elem, _index28) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
704
+ }, _errorFactory)) && input["decorators"].every((elem, _index29) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
601
705
  method: "typia.assert",
602
- path: _path + ".decorators[" + _index28 + "]",
706
+ path: _path + ".decorators[" + _index29 + "]",
603
707
  expected: "ITtscGraphDecorator",
604
708
  value: elem
605
- }, _errorFactory)) && _ao12(elem, _path + ".decorators[" + _index28 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
709
+ }, _errorFactory)) && _ao12(elem, _path + ".decorators[" + _index29 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
606
710
  method: "typia.assert",
607
- path: _path + ".decorators[" + _index28 + "]",
711
+ path: _path + ".decorators[" + _index29 + "]",
608
712
  expected: "ITtscGraphDecorator",
609
713
  value: elem
610
714
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -613,41 +717,72 @@ class TtscGraphSession {
613
717
  expected: "(Array<ITtscGraphDecorator> | undefined)",
614
718
  value: input["decorators"]
615
719
  }, _errorFactory);
616
- const _ap24 = (input, _path, _exceptionable = true) => undefined === input["signature"] || "string" === typeof input["signature"] || _assertGuard_1._assertGuard(_exceptionable, {
720
+ const _ap24 = (input, _path, _exceptionable = true) => undefined === input["docTags"] || (Array.isArray(input["docTags"]) || _assertGuard_1._assertGuard(_exceptionable, {
721
+ method: "typia.assert",
722
+ path: _path + ".docTags",
723
+ expected: "(Array<ITtscGraphDocTag> | undefined)",
724
+ value: input["docTags"]
725
+ }, _errorFactory)) && input["docTags"].every((elem, _index30) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
726
+ method: "typia.assert",
727
+ path: _path + ".docTags[" + _index30 + "]",
728
+ expected: "ITtscGraphDocTag",
729
+ value: elem
730
+ }, _errorFactory)) && _ao14(elem, _path + ".docTags[" + _index30 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
731
+ method: "typia.assert",
732
+ path: _path + ".docTags[" + _index30 + "]",
733
+ expected: "ITtscGraphDocTag",
734
+ value: elem
735
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
736
+ method: "typia.assert",
737
+ path: _path + ".docTags",
738
+ expected: "(Array<ITtscGraphDocTag> | undefined)",
739
+ value: input["docTags"]
740
+ }, _errorFactory);
741
+ const _ap25 = (input, _path, _exceptionable = true) => undefined === input["signature"] || "string" === typeof input["signature"] || _assertGuard_1._assertGuard(_exceptionable, {
617
742
  method: "typia.assert",
618
743
  path: _path + ".signature",
619
744
  expected: "(string | undefined)",
620
745
  value: input["signature"]
621
746
  }, _errorFactory);
622
- const _ap25 = (input, _path, _exceptionable = true) => "class" === input["kind"] || "enum" === input["kind"] || "function" === input["kind"] || "interface" === input["kind"] || "method" === input["kind"] || "module" === input["kind"] || "type" === input["kind"] || "variable" === input["kind"] || _assertGuard_1._assertGuard(_exceptionable, {
747
+ const _ap26 = (input, _path, _exceptionable = true) => true === _av1.has(input["kind"]) || _assertGuard_1._assertGuard(_exceptionable, {
623
748
  method: "typia.assert",
624
749
  path: _path + ".kind",
625
- expected: "(\"class\" | \"enum\" | \"function\" | \"interface\" | \"method\" | \"module\" | \"type\" | \"variable\")",
750
+ expected: _ae1,
626
751
  value: input["kind"]
627
752
  }, _errorFactory);
628
- const _ap26 = (input, _path, _exceptionable = true) => undefined === input["evidence"] || ("object" === typeof input["evidence"] && null !== input["evidence"] || _assertGuard_1._assertGuard(_exceptionable, {
753
+ const _av1 = new Set(["class", "enum", "function", "interface", "markdown_document", "markdown_section", "method", "module", "prisma_column", "prisma_model", "prisma_relation", "swagger_operation", "type", "variable"]);
754
+ const _ae1 = "(\"class\" | \"enum\" | \"function\" | \"interface\" | \"markdown_document\" | \"markdown_section\" | \"method\" | \"module\" | \"prisma_column\" | \"prisma_model\" | \"prisma_relation\" | \"swagger_operation\" | \"type\" | \"variable\")";
755
+ const _ap27 = (input, _path, _exceptionable = true) => undefined === input["parent"] || "string" === typeof input["parent"] || _assertGuard_1._assertGuard(_exceptionable, {
756
+ method: "typia.assert",
757
+ path: _path + ".parent",
758
+ expected: "(string | undefined)",
759
+ value: input["parent"]
760
+ }, _errorFactory);
761
+ const _ap28 = (input, _path, _exceptionable = true) => undefined === input["evidence"] || ("object" === typeof input["evidence"] && null !== input["evidence"] || _assertGuard_1._assertGuard(_exceptionable, {
629
762
  method: "typia.assert",
630
763
  path: _path + ".evidence",
631
764
  expected: "(ITtscGraphSpan | undefined)",
632
765
  value: input["evidence"]
633
- }, _errorFactory)) && _ao14(input["evidence"], _path + ".evidence", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
766
+ }, _errorFactory)) && _ao15(input["evidence"], _path + ".evidence", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
634
767
  method: "typia.assert",
635
768
  path: _path + ".evidence",
636
769
  expected: "(ITtscGraphSpan | undefined)",
637
770
  value: input["evidence"]
638
771
  }, _errorFactory);
639
- const _ap27 = (input, _path, _exceptionable = true) => undefined === input["implementation"] || ("object" === typeof input["implementation"] && null !== input["implementation"] || _assertGuard_1._assertGuard(_exceptionable, {
772
+ const _ap29 = (input, _path, _exceptionable = true) => undefined === input["implementation"] || ("object" === typeof input["implementation"] && null !== input["implementation"] || _assertGuard_1._assertGuard(_exceptionable, {
640
773
  method: "typia.assert",
641
774
  path: _path + ".implementation",
642
775
  expected: "(ITtscGraphSpan | undefined)",
643
776
  value: input["implementation"]
644
- }, _errorFactory)) && _ao14(input["implementation"], _path + ".implementation", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
777
+ }, _errorFactory)) && _ao15(input["implementation"], _path + ".implementation", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
645
778
  method: "typia.assert",
646
779
  path: _path + ".implementation",
647
780
  expected: "(ITtscGraphSpan | undefined)",
648
781
  value: input["implementation"]
649
782
  }, _errorFactory);
650
- const _ap28 = (input, _path, _exceptionable = true) => "string" === typeof input["key"] || _assertGuard_1._assertGuard(_exceptionable, {
783
+ const _av2 = new Set(["accesses", "calls", "doc_ref", "exports", "extends", "implements", "instantiates", "overrides", "renders", "type_ref"]);
784
+ const _ae2 = "(\"accesses\" | \"calls\" | \"doc_ref\" | \"exports\" | \"extends\" | \"implements\" | \"instantiates\" | \"overrides\" | \"renders\" | \"type_ref\")";
785
+ const _ap30 = (input, _path, _exceptionable = true) => "string" === typeof input["key"] || _assertGuard_1._assertGuard(_exceptionable, {
651
786
  method: "typia.assert",
652
787
  path: _path + ".key",
653
788
  expected: "string",
@@ -683,7 +818,7 @@ class TtscGraphSession {
683
818
  path: _path + ".snapshot",
684
819
  expected: "(ITtscGraphSnapshot.ITransaction | undefined)",
685
820
  value: input.snapshot
686
- }, _errorFactory)) && _ao16(input.snapshot, _path + ".snapshot", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
821
+ }, _errorFactory)) && _ao17(input.snapshot, _path + ".snapshot", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
687
822
  method: "typia.assert",
688
823
  path: _path + ".snapshot",
689
824
  expected: "(ITtscGraphSnapshot.ITransaction | undefined)",
@@ -721,20 +856,20 @@ class TtscGraphSession {
721
856
  path: _path + ".line",
722
857
  expected: "(number | undefined)",
723
858
  value: input.line
724
- }, _errorFactory)) && _ap24(input, _path, true && _exceptionable);
859
+ }, _errorFactory)) && _ap25(input, _path, true && _exceptionable);
725
860
  const _ao12 = (input, _path, _exceptionable = true) => _ap13(input, _path, true && _exceptionable) && ((Array.isArray(input.arguments) || _assertGuard_1._assertGuard(_exceptionable, {
726
861
  method: "typia.assert",
727
862
  path: _path + ".arguments",
728
863
  expected: "Array<ITtscGraphDecorator.IArgument>",
729
864
  value: input.arguments
730
- }, _errorFactory)) && input.arguments.every((elem, _index29) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || _assertGuard_1._assertGuard(_exceptionable, {
865
+ }, _errorFactory)) && input.arguments.every((elem, _index31) => ("object" === typeof elem && null !== elem && false === Array.isArray(elem) || _assertGuard_1._assertGuard(_exceptionable, {
731
866
  method: "typia.assert",
732
- path: _path + ".arguments[" + _index29 + "]",
867
+ path: _path + ".arguments[" + _index31 + "]",
733
868
  expected: "ITtscGraphDecorator.IArgument",
734
869
  value: elem
735
- }, _errorFactory)) && _ao13(elem, _path + ".arguments[" + _index29 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
870
+ }, _errorFactory)) && _ao13(elem, _path + ".arguments[" + _index31 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
736
871
  method: "typia.assert",
737
- path: _path + ".arguments[" + _index29 + "]",
872
+ path: _path + ".arguments[" + _index31 + "]",
738
873
  expected: "ITtscGraphDecorator.IArgument",
739
874
  value: elem
740
875
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -749,7 +884,13 @@ class TtscGraphSession {
749
884
  expected: "(boolean | number | string | undefined)",
750
885
  value: input.literal
751
886
  }, _errorFactory);
752
- const _ao14 = (input, _path, _exceptionable = true) => (undefined === input.file || "string" === typeof input.file || _assertGuard_1._assertGuard(_exceptionable, {
887
+ const _ao14 = (input, _path, _exceptionable = true) => _ap13(input, _path, true && _exceptionable) && (undefined === input.text || "string" === typeof input.text || _assertGuard_1._assertGuard(_exceptionable, {
888
+ method: "typia.assert",
889
+ path: _path + ".text",
890
+ expected: "(string | undefined)",
891
+ value: input.text
892
+ }, _errorFactory));
893
+ const _ao15 = (input, _path, _exceptionable = true) => (undefined === input.file || "string" === typeof input.file || _assertGuard_1._assertGuard(_exceptionable, {
753
894
  method: "typia.assert",
754
895
  path: _path + ".file",
755
896
  expected: "(string | undefined)",
@@ -775,7 +916,7 @@ class TtscGraphSession {
775
916
  expected: "(number | undefined)",
776
917
  value: input.endCol
777
918
  }, _errorFactory));
778
- const _ao15 = (input, _path, _exceptionable = true) => ("string" === typeof input.from || _assertGuard_1._assertGuard(_exceptionable, {
919
+ const _ao16 = (input, _path, _exceptionable = true) => ("string" === typeof input.from || _assertGuard_1._assertGuard(_exceptionable, {
779
920
  method: "typia.assert",
780
921
  path: _path + ".from",
781
922
  expected: "string",
@@ -785,13 +926,13 @@ class TtscGraphSession {
785
926
  path: _path + ".to",
786
927
  expected: "string",
787
928
  value: input.to
788
- }, _errorFactory)) && ("accesses" === input.kind || "calls" === input.kind || "exports" === input.kind || "extends" === input.kind || "implements" === input.kind || "instantiates" === input.kind || "overrides" === input.kind || "renders" === input.kind || "type_ref" === input.kind || _assertGuard_1._assertGuard(_exceptionable, {
929
+ }, _errorFactory)) && (true === _av2.has(input.kind) || _assertGuard_1._assertGuard(_exceptionable, {
789
930
  method: "typia.assert",
790
931
  path: _path + ".kind",
791
- expected: "(\"accesses\" | \"calls\" | \"exports\" | \"extends\" | \"implements\" | \"instantiates\" | \"overrides\" | \"renders\" | \"type_ref\")",
932
+ expected: _ae2,
792
933
  value: input.kind
793
- }, _errorFactory)) && _ap26(input, _path, true && _exceptionable);
794
- const _ao16 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && _ap7(input, _path, true && _exceptionable) && _ap2(input, _path, true && _exceptionable) && _ap3(input, _path, true && _exceptionable) && _ap8(input, _path, true && _exceptionable) && _ap1(input, _path, true && _exceptionable) && _ap9(input, _path, true && _exceptionable) && ("number" === typeof input.sequence || _assertGuard_1._assertGuard(_exceptionable, {
934
+ }, _errorFactory)) && _ap28(input, _path, true && _exceptionable);
935
+ const _ao17 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && _ap7(input, _path, true && _exceptionable) && _ap2(input, _path, true && _exceptionable) && _ap3(input, _path, true && _exceptionable) && _ap8(input, _path, true && _exceptionable) && _ap1(input, _path, true && _exceptionable) && _ap9(input, _path, true && _exceptionable) && ("number" === typeof input.sequence || _assertGuard_1._assertGuard(_exceptionable, {
795
936
  method: "typia.assert",
796
937
  path: _path + ".sequence",
797
938
  expected: "number",
@@ -816,14 +957,14 @@ class TtscGraphSession {
816
957
  path: _path + ".upserts",
817
958
  expected: "Array<ITtscGraphSnapshot.IShardUpsert>",
818
959
  value: input.upserts
819
- }, _errorFactory)) && input.upserts.every((elem, _index30) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
960
+ }, _errorFactory)) && input.upserts.every((elem, _index32) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
820
961
  method: "typia.assert",
821
- path: _path + ".upserts[" + _index30 + "]",
962
+ path: _path + ".upserts[" + _index32 + "]",
822
963
  expected: "ITtscGraphSnapshot.IShardUpsert",
823
964
  value: elem
824
- }, _errorFactory)) && _ao17(elem, _path + ".upserts[" + _index30 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
965
+ }, _errorFactory)) && _ao18(elem, _path + ".upserts[" + _index32 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
825
966
  method: "typia.assert",
826
- path: _path + ".upserts[" + _index30 + "]",
967
+ path: _path + ".upserts[" + _index32 + "]",
827
968
  expected: "ITtscGraphSnapshot.IShardUpsert",
828
969
  value: elem
829
970
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -836,9 +977,9 @@ class TtscGraphSession {
836
977
  path: _path + ".deletes",
837
978
  expected: "Array<string>",
838
979
  value: input.deletes
839
- }, _errorFactory)) && input.deletes.every((elem, _index31) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
980
+ }, _errorFactory)) && input.deletes.every((elem, _index33) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
840
981
  method: "typia.assert",
841
- path: _path + ".deletes[" + _index31 + "]",
982
+ path: _path + ".deletes[" + _index33 + "]",
842
983
  expected: "string",
843
984
  value: elem
844
985
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -851,14 +992,14 @@ class TtscGraphSession {
851
992
  path: _path + ".manifest",
852
993
  expected: "Array<ITtscGraphSnapshot.IShardReference>",
853
994
  value: input.manifest
854
- }, _errorFactory)) && input.manifest.every((elem, _index32) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
995
+ }, _errorFactory)) && input.manifest.every((elem, _index34) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
855
996
  method: "typia.assert",
856
- path: _path + ".manifest[" + _index32 + "]",
997
+ path: _path + ".manifest[" + _index34 + "]",
857
998
  expected: "ITtscGraphSnapshot.IShardReference",
858
999
  value: elem
859
- }, _errorFactory)) && _ao19(elem, _path + ".manifest[" + _index32 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
1000
+ }, _errorFactory)) && _ao20(elem, _path + ".manifest[" + _index34 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
860
1001
  method: "typia.assert",
861
- path: _path + ".manifest[" + _index32 + "]",
1002
+ path: _path + ".manifest[" + _index34 + "]",
862
1003
  expected: "ITtscGraphSnapshot.IShardReference",
863
1004
  value: elem
864
1005
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -867,18 +1008,18 @@ class TtscGraphSession {
867
1008
  expected: "Array<ITtscGraphSnapshot.IShardReference>",
868
1009
  value: input.manifest
869
1010
  }, _errorFactory));
870
- const _ao17 = (input, _path, _exceptionable = true) => _ap11(input, _path, true && _exceptionable) && (("object" === typeof input.shard && null !== input.shard || _assertGuard_1._assertGuard(_exceptionable, {
1011
+ const _ao18 = (input, _path, _exceptionable = true) => _ap11(input, _path, true && _exceptionable) && (("object" === typeof input.shard && null !== input.shard || _assertGuard_1._assertGuard(_exceptionable, {
871
1012
  method: "typia.assert",
872
1013
  path: _path + ".shard",
873
1014
  expected: "ITtscGraphSnapshot.IShard",
874
1015
  value: input.shard
875
- }, _errorFactory)) && _ao18(input.shard, _path + ".shard", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
1016
+ }, _errorFactory)) && _ao19(input.shard, _path + ".shard", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
876
1017
  method: "typia.assert",
877
1018
  path: _path + ".shard",
878
1019
  expected: "ITtscGraphSnapshot.IShard",
879
1020
  value: input.shard
880
1021
  }, _errorFactory));
881
- const _ao18 = (input, _path, _exceptionable = true) => _ap28(input, _path, true && _exceptionable) && (undefined === input.source || ("object" === typeof input.source && null !== input.source || _assertGuard_1._assertGuard(_exceptionable, {
1022
+ const _ao19 = (input, _path, _exceptionable = true) => _ap30(input, _path, true && _exceptionable) && (undefined === input.source || ("object" === typeof input.source && null !== input.source || _assertGuard_1._assertGuard(_exceptionable, {
882
1023
  method: "typia.assert",
883
1024
  path: _path + ".source",
884
1025
  expected: "(ITtscGraphDump.ISourceDigest | undefined)",
@@ -899,20 +1040,29 @@ class TtscGraphSession {
899
1040
  expected: "(ITtscGraphDump.IFileDigest | undefined)",
900
1041
  value: input.config
901
1042
  }, _errorFactory)) && _ap5(input, _path, true && _exceptionable) && _ap6(input, _path, true && _exceptionable) && _ap4(input, _path, true && _exceptionable);
902
- const _ao19 = (input, _path, _exceptionable = true) => _ap28(input, _path, true && _exceptionable) && _ap11(input, _path, true && _exceptionable);
903
- const _ao2 = (input, _path, _exceptionable = true) => _ap7(input, _path, true && _exceptionable) && _ap1(input, _path, true && _exceptionable) && _ap8(input, _path, true && _exceptionable) && _ap9(input, _path, true && _exceptionable) && ((Array.isArray(input.sources) || _assertGuard_1._assertGuard(_exceptionable, {
1043
+ const _ao2 = (input, _path, _exceptionable = true) => _ap7(input, _path, true && _exceptionable) && _ap1(input, _path, true && _exceptionable) && _ap8(input, _path, true && _exceptionable) && (undefined === input.artifactProducer || ("object" === typeof input.artifactProducer && null !== input.artifactProducer || _assertGuard_1._assertGuard(_exceptionable, {
1044
+ method: "typia.assert",
1045
+ path: _path + ".artifactProducer",
1046
+ expected: "(ITtscGraphDump.IProducer | undefined)",
1047
+ value: input.artifactProducer
1048
+ }, _errorFactory)) && _ao3(input.artifactProducer, _path + ".artifactProducer", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
1049
+ method: "typia.assert",
1050
+ path: _path + ".artifactProducer",
1051
+ expected: "(ITtscGraphDump.IProducer | undefined)",
1052
+ value: input.artifactProducer
1053
+ }, _errorFactory)) && _ap9(input, _path, true && _exceptionable) && ((Array.isArray(input.sources) || _assertGuard_1._assertGuard(_exceptionable, {
904
1054
  method: "typia.assert",
905
1055
  path: _path + ".sources",
906
1056
  expected: "Array<ITtscGraphDump.ISourceDigest>",
907
1057
  value: input.sources
908
- }, _errorFactory)) && input.sources.every((elem, _index21) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
1058
+ }, _errorFactory)) && input.sources.every((elem, _index22) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
909
1059
  method: "typia.assert",
910
- path: _path + ".sources[" + _index21 + "]",
1060
+ path: _path + ".sources[" + _index22 + "]",
911
1061
  expected: "ITtscGraphDump.ISourceDigest",
912
1062
  value: elem
913
- }, _errorFactory)) && _ao7(elem, _path + ".sources[" + _index21 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
1063
+ }, _errorFactory)) && _ao7(elem, _path + ".sources[" + _index22 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
914
1064
  method: "typia.assert",
915
- path: _path + ".sources[" + _index21 + "]",
1065
+ path: _path + ".sources[" + _index22 + "]",
916
1066
  expected: "ITtscGraphDump.ISourceDigest",
917
1067
  value: elem
918
1068
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -921,6 +1071,7 @@ class TtscGraphSession {
921
1071
  expected: "Array<ITtscGraphDump.ISourceDigest>",
922
1072
  value: input.sources
923
1073
  }, _errorFactory));
1074
+ const _ao20 = (input, _path, _exceptionable = true) => _ap30(input, _path, true && _exceptionable) && _ap11(input, _path, true && _exceptionable);
924
1075
  const _ao3 = (input, _path, _exceptionable = true) => ("string" === typeof input.tool || _assertGuard_1._assertGuard(_exceptionable, {
925
1076
  method: "typia.assert",
926
1077
  path: _path + ".tool",
@@ -942,14 +1093,14 @@ class TtscGraphSession {
942
1093
  path: _path + ".configs",
943
1094
  expected: "Array<ITtscGraphDump.IFileDigest>",
944
1095
  value: input.configs
945
- }, _errorFactory)) && input.configs.every((elem, _index22) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
1096
+ }, _errorFactory)) && input.configs.every((elem, _index23) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
946
1097
  method: "typia.assert",
947
- path: _path + ".configs[" + _index22 + "]",
1098
+ path: _path + ".configs[" + _index23 + "]",
948
1099
  expected: "ITtscGraphDump.IFileDigest",
949
1100
  value: elem
950
- }, _errorFactory)) && _ao5(elem, _path + ".configs[" + _index22 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
1101
+ }, _errorFactory)) && _ao5(elem, _path + ".configs[" + _index23 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
951
1102
  method: "typia.assert",
952
- path: _path + ".configs[" + _index22 + "]",
1103
+ path: _path + ".configs[" + _index23 + "]",
953
1104
  expected: "ITtscGraphDump.IFileDigest",
954
1105
  value: elem
955
1106
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -962,14 +1113,14 @@ class TtscGraphSession {
962
1113
  path: _path + ".roots",
963
1114
  expected: "Array<ITtscGraphDump.IRootFile>",
964
1115
  value: input.roots
965
- }, _errorFactory)) && input.roots.every((elem, _index23) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
1116
+ }, _errorFactory)) && input.roots.every((elem, _index24) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
966
1117
  method: "typia.assert",
967
- path: _path + ".roots[" + _index23 + "]",
1118
+ path: _path + ".roots[" + _index24 + "]",
968
1119
  expected: "ITtscGraphDump.IRootFile",
969
1120
  value: elem
970
- }, _errorFactory)) && _ao6(elem, _path + ".roots[" + _index23 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
1121
+ }, _errorFactory)) && _ao6(elem, _path + ".roots[" + _index24 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
971
1122
  method: "typia.assert",
972
- path: _path + ".roots[" + _index23 + "]",
1123
+ path: _path + ".roots[" + _index24 + "]",
973
1124
  expected: "ITtscGraphDump.IRootFile",
974
1125
  value: elem
975
1126
  }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
@@ -1022,27 +1173,28 @@ class TtscGraphSession {
1022
1173
  expected: "string",
1023
1174
  value: input.message
1024
1175
  }, _errorFactory));
1025
- const _ao9 = (input, _path, _exceptionable = true) => _ap12(input, _path, true && _exceptionable) && _ap13(input, _path, true && _exceptionable) && _ap14(input, _path, true && _exceptionable) && _ap10(input, _path, true && _exceptionable) && _ap15(input, _path, true && _exceptionable) && _ap16(input, _path, true && _exceptionable) && _ap17(input, _path, true && _exceptionable) && _ap18(input, _path, true && _exceptionable) && _ap19(input, _path, true && _exceptionable) && _ap20(input, _path, true && _exceptionable) && _ap21(input, _path, true && _exceptionable) && _ap22(input, _path, true && _exceptionable) && _ap23(input, _path, true && _exceptionable) && _ap24(input, _path, true && _exceptionable) && _ap25(input, _path, true && _exceptionable) && _ap26(input, _path, true && _exceptionable) && _ap27(input, _path, true && _exceptionable);
1026
- const _io0 = input => "number" === typeof input.id && _ip0(input) && ("error" === input.mode || "incremental" === input.mode || "initial" === input.mode || "rebuild" === input.mode || "reload" === input.mode || "unchanged" === input.mode) && _ip1(input) && "boolean" === typeof input.changed && (undefined === input.dump || "object" === typeof input.dump && null !== input.dump && _io1(input.dump)) && (undefined === input.snapshot || "object" === typeof input.snapshot && null !== input.snapshot && _io16(input.snapshot)) && (undefined === input.error || "string" === typeof input.error);
1176
+ const _ao9 = (input, _path, _exceptionable = true) => _ap12(input, _path, true && _exceptionable) && _ap13(input, _path, true && _exceptionable) && _ap14(input, _path, true && _exceptionable) && _ap10(input, _path, true && _exceptionable) && _ap15(input, _path, true && _exceptionable) && _ap16(input, _path, true && _exceptionable) && _ap17(input, _path, true && _exceptionable) && _ap18(input, _path, true && _exceptionable) && _ap19(input, _path, true && _exceptionable) && _ap20(input, _path, true && _exceptionable) && _ap21(input, _path, true && _exceptionable) && _ap22(input, _path, true && _exceptionable) && _ap23(input, _path, true && _exceptionable) && _ap24(input, _path, true && _exceptionable) && _ap25(input, _path, true && _exceptionable) && _ap26(input, _path, true && _exceptionable) && _ap27(input, _path, true && _exceptionable) && _ap28(input, _path, true && _exceptionable) && _ap29(input, _path, true && _exceptionable);
1177
+ const _io0 = input => "number" === typeof input.id && _ip0(input) && ("error" === input.mode || "incremental" === input.mode || "initial" === input.mode || "rebuild" === input.mode || "reload" === input.mode || "unchanged" === input.mode) && _ip1(input) && "boolean" === typeof input.changed && (undefined === input.dump || "object" === typeof input.dump && null !== input.dump && _io1(input.dump)) && (undefined === input.snapshot || "object" === typeof input.snapshot && null !== input.snapshot && _io17(input.snapshot)) && (undefined === input.error || "string" === typeof input.error);
1027
1178
  const _io1 = input => _ip2(input) && _ip3(input) && ("object" === typeof input.provenance && null !== input.provenance && _io2(input.provenance)) && _ip4(input) && _ip5(input) && _ip6(input);
1028
1179
  const _io10 = input => _ip13(input) && (undefined === input.value || "string" === typeof input.value);
1029
- const _io11 = input => _ip13(input) && ("method" === input.kind || "property" === input.kind) && (undefined === input.line || "number" === typeof input.line) && _ip24(input);
1180
+ const _io11 = input => _ip13(input) && ("method" === input.kind || "property" === input.kind) && (undefined === input.line || "number" === typeof input.line) && _ip25(input);
1030
1181
  const _io12 = input => _ip13(input) && (Array.isArray(input.arguments) && input.arguments.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _io13(elem)));
1031
1182
  const _io13 = input => undefined === input.literal || "string" === typeof input.literal || "number" === typeof input.literal || "boolean" === typeof input.literal;
1032
- const _io14 = input => (undefined === input.file || "string" === typeof input.file) && "number" === typeof input.startLine && (undefined === input.startCol || "number" === typeof input.startCol) && (undefined === input.endLine || "number" === typeof input.endLine) && (undefined === input.endCol || "number" === typeof input.endCol);
1033
- const _io15 = input => "string" === typeof input.from && "string" === typeof input.to && ("accesses" === input.kind || "calls" === input.kind || "exports" === input.kind || "extends" === input.kind || "implements" === input.kind || "instantiates" === input.kind || "overrides" === input.kind || "renders" === input.kind || "type_ref" === input.kind) && _ip26(input);
1034
- const _io16 = input => _ip0(input) && _ip7(input) && _ip2(input) && _ip3(input) && _ip8(input) && _ip1(input) && _ip9(input) && "number" === typeof input.sequence && "string" === typeof input.generation && (undefined === input.baseSequence || "number" === typeof input.baseSequence) && (undefined === input.baseGeneration || "string" === typeof input.baseGeneration) && (Array.isArray(input.upserts) && input.upserts.every(elem => "object" === typeof elem && null !== elem && _io17(elem))) && (Array.isArray(input.deletes) && input.deletes.every(elem => "string" === typeof elem)) && (Array.isArray(input.manifest) && input.manifest.every(elem => "object" === typeof elem && null !== elem && _io19(elem)));
1035
- const _io17 = input => _ip11(input) && ("object" === typeof input.shard && null !== input.shard && _io18(input.shard));
1036
- const _io18 = input => _ip28(input) && (undefined === input.source || "object" === typeof input.source && null !== input.source && _io7(input.source)) && (undefined === input.config || "object" === typeof input.config && null !== input.config && _io5(input.config)) && _ip5(input) && _ip6(input) && _ip4(input);
1037
- const _io19 = input => _ip28(input) && _ip11(input);
1038
- const _io2 = input => _ip7(input) && _ip1(input) && _ip8(input) && _ip9(input) && (Array.isArray(input.sources) && input.sources.every(elem => "object" === typeof elem && null !== elem && _io7(elem)));
1183
+ const _io14 = input => _ip13(input) && (undefined === input.text || "string" === typeof input.text);
1184
+ const _io15 = input => (undefined === input.file || "string" === typeof input.file) && "number" === typeof input.startLine && (undefined === input.startCol || "number" === typeof input.startCol) && (undefined === input.endLine || "number" === typeof input.endLine) && (undefined === input.endCol || "number" === typeof input.endCol);
1185
+ const _io16 = input => "string" === typeof input.from && "string" === typeof input.to && true === _iv2.has(input.kind) && _ip28(input);
1186
+ const _io17 = input => _ip0(input) && _ip7(input) && _ip2(input) && _ip3(input) && _ip8(input) && _ip1(input) && _ip9(input) && "number" === typeof input.sequence && "string" === typeof input.generation && (undefined === input.baseSequence || "number" === typeof input.baseSequence) && (undefined === input.baseGeneration || "string" === typeof input.baseGeneration) && (Array.isArray(input.upserts) && input.upserts.every(elem => "object" === typeof elem && null !== elem && _io18(elem))) && (Array.isArray(input.deletes) && input.deletes.every(elem => "string" === typeof elem)) && (Array.isArray(input.manifest) && input.manifest.every(elem => "object" === typeof elem && null !== elem && _io20(elem)));
1187
+ const _io18 = input => _ip11(input) && ("object" === typeof input.shard && null !== input.shard && _io19(input.shard));
1188
+ const _io19 = input => _ip30(input) && (undefined === input.source || "object" === typeof input.source && null !== input.source && _io7(input.source)) && (undefined === input.config || "object" === typeof input.config && null !== input.config && _io5(input.config)) && _ip5(input) && _ip6(input) && _ip4(input);
1189
+ const _io2 = input => _ip7(input) && _ip1(input) && _ip8(input) && (undefined === input.artifactProducer || "object" === typeof input.artifactProducer && null !== input.artifactProducer && _io3(input.artifactProducer)) && _ip9(input) && (Array.isArray(input.sources) && input.sources.every(elem => "object" === typeof elem && null !== elem && _io7(elem)));
1190
+ const _io20 = input => _ip30(input) && _ip11(input);
1039
1191
  const _io3 = input => "string" === typeof input.tool && "string" === typeof input.version && "string" === typeof input.typescript;
1040
1192
  const _io4 = input => Array.isArray(input.configs) && input.configs.every(elem => "object" === typeof elem && null !== elem && _io5(elem)) && (Array.isArray(input.roots) && input.roots.every(elem => "object" === typeof elem && null !== elem && _io6(elem)));
1041
1193
  const _io5 = input => _ip10(input) && _ip11(input);
1042
1194
  const _io6 = input => "string" === typeof input.config && _ip10(input);
1043
1195
  const _io7 = input => _ip10(input) && "string" === typeof input.checkerDigest && "string" === typeof input.diskDigest;
1044
1196
  const _io8 = input => _ip10(input) && "number" === typeof input.line && "number" === typeof input.column && "number" === typeof input.code && ("error" === input.category || "warning" === input.category) && "string" === typeof input.message;
1045
- const _io9 = input => _ip12(input) && _ip13(input) && _ip14(input) && _ip10(input) && _ip15(input) && _ip16(input) && _ip17(input) && _ip18(input) && _ip19(input) && _ip20(input) && _ip21(input) && _ip22(input) && _ip23(input) && _ip24(input) && _ip25(input) && _ip26(input) && _ip27(input);
1197
+ const _io9 = input => _ip12(input) && _ip13(input) && _ip14(input) && _ip10(input) && _ip15(input) && _ip16(input) && _ip17(input) && _ip18(input) && _ip19(input) && _ip20(input) && _ip21(input) && _ip22(input) && _ip23(input) && _ip24(input) && _ip25(input) && _ip26(input) && _ip27(input) && _ip28(input) && _ip29(input);
1046
1198
  const __is = input => "object" === typeof input && null !== input && _io0(input);
1047
1199
  let _errorFactory;
1048
1200
  return (input, errorFactory) => {