@tiangong-ai/cli 0.0.6 → 0.0.7

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.
package/AGENTS.md CHANGED
@@ -15,8 +15,8 @@ checkPaths:
15
15
  - .docpact/config.yaml
16
16
  - docs/agents/**
17
17
  - src/**
18
- lastReviewedAt: 2026-05-10
19
- lastReviewedCommit: f45edb6f41dd767911b3788eb8bc75e9bcb8ba33
18
+ lastReviewedAt: 2026-05-12
19
+ lastReviewedCommit: 29cb2f6f64f6cac7d1814b57579fe6343254d33d
20
20
  ---
21
21
 
22
22
  # Tiangong AI CLI Contract
package/README.md CHANGED
@@ -104,14 +104,15 @@ stored under the OS app-data directory:
104
104
  Use `--state /path/to/job.sqlite` to override the checkpoint path. Bulk jobs do
105
105
  not use `.tiangong-kb-ingest-manifest.jsonl` as their checkpoint.
106
106
 
107
- Bulk ingest always creates 300dpi-normalized ingest copies for `.docx` files
108
- and creates PDF split parts when a PDF exceeds the active upload limit. Derived
109
- files stay under `.tiangong-kb-ingest-derived` by default, and that directory is
110
- excluded from future bulk scans. DOCX copies keep the original logical path for
111
- metadata-map evaluation, and the generated DOCX copy is uploaded even when
112
- normalization does not materially reduce file size. PDF split parts keep the
113
- original logical parent directory. Upload metadata remains the user/business
114
- metadata produced by the metadata map.
107
+ Bulk ingest scans and fingerprints files first, then lazily creates derived
108
+ files only when a row enters the active upload window. `.docx` files larger than
109
+ 10MiB are uploaded through 300dpi-normalized ingest copies; smaller `.docx`
110
+ files upload directly unless they are empty. Oversized PDFs are split into the
111
+ fewest uploadable PDF parts when they enter the window, and the generated part
112
+ rows are written back to SQLite so resume can reuse them. Derived files stay
113
+ under `.tiangong-kb-ingest-derived` by default, and that directory is excluded
114
+ from future bulk scans. Upload metadata remains the user/business metadata
115
+ produced by the metadata map.
115
116
 
116
117
  Manage bulk jobs:
117
118
 
package/dist/cli.js CHANGED
@@ -19,6 +19,7 @@ const DEFAULT_BULK_POLL_INTERVAL_SECONDS = 30;
19
19
  const DEFAULT_BULK_MAX_UPLOAD_BYTES = 200 * 1024 * 1024;
20
20
  const DEFAULT_BULK_DERIVED_DIR = ".tiangong-kb-ingest-derived";
21
21
  const DOCX_TARGET_IMAGE_DPI = 300;
22
+ const DOCX_NORMALIZE_MIN_BYTES = 10 * 1024 * 1024;
22
23
  const EMUS_PER_INCH = 914400;
23
24
  const RETRYABLE_HTTP_STATUSES = new Set([408, 425, 429, 500, 502, 503, 504]);
24
25
  const TERMINAL_STATUSES = new Set(["completed", "failed", "deleted"]);
@@ -249,6 +250,7 @@ async function kbIngestStatus(argv, io) {
249
250
  `status=${job.status}`,
250
251
  `state=${job.statePath}`,
251
252
  `root=${job.rootPath}`,
253
+ `pressure=${job.pipelineHealth?.pressure ?? "unknown"} action=${job.pipelineHealth?.recommendedAction ?? "continue"}`,
252
254
  `files=${summary.total} pending=${summary.pending} inflight=${summary.inflight} completed=${summary.completed} failed=${summary.failed}`,
253
255
  "",
254
256
  ].join("\n"));
@@ -400,7 +402,8 @@ async function kbIngestBulkRun(argv, io) {
400
402
  const metadataMap = await loadMetadataMap(args);
401
403
  const files = await collectBulkFilePlans(root, true, args);
402
404
  const schemaSnapshot = await loadSchemaSnapshot(args, io.env, config, selector);
403
- const preflightPlans = await prepareBulkPreflightPlans(files, preflightOptionsFromArgs(args, schemaSnapshot, root, true));
405
+ const preflightOptions = preflightOptionsFromArgs(args, schemaSnapshot, root, false);
406
+ const preflightPlans = await prepareBulkPreflightPlans(files, preflightOptions);
404
407
  const dryRunSummary = metadataDryRun(preflightPlans.allPlans, metadataMap, schemaSnapshot);
405
408
  dryRunSummary.preflight = buildPreflightSummary(preflightPlans.allPlans, preflightPlans.maxUploadBytes);
406
409
  await initializeBulkJob({
@@ -421,6 +424,7 @@ async function kbIngestBulkRun(argv, io) {
421
424
  metadataMap,
422
425
  env: io.env,
423
426
  stdout: io.stdout,
427
+ preflightOptions,
424
428
  });
425
429
  writeJsonOrText(io.stdout, args, result, () => formatBulkRunSummary(result));
426
430
  return result.failed > 0 || result.blocked > 0 ? 1 : 0;
@@ -449,7 +453,7 @@ async function kbIngestJobs(argv, io) {
449
453
  }
450
454
  }))).filter((job) => Boolean(job));
451
455
  writeJsonOrText(io.stdout, args, { jobs }, () => jobs
452
- .map((job) => `${job.jobId}\t${job.status}\t${job.summary.completed}/${job.summary.total}\t${job.statePath}`)
456
+ .map((job) => `${job.jobId}\t${job.status}\t${job.summary.completed}/${job.summary.total}\tpressure=${job.pipelineHealth?.pressure ?? "unknown"}\taction=${job.pipelineHealth?.recommendedAction ?? "continue"}\t${job.statePath}`)
453
457
  .join("\n")
454
458
  .concat(jobs.length ? "\n" : ""));
455
459
  return 0;
@@ -465,6 +469,7 @@ async function kbIngestResume(argv, io) {
465
469
  const job = await readBulkJob(statePath);
466
470
  const config = resolveConfig(args, io.env);
467
471
  const selectorFields = await resolveSelectorFields(config, job.collectionSelector);
472
+ const preflightOptions = preflightOptionsFromArgs(args, job.schemaSnapshot, job.rootPath, false);
468
473
  const result = await runBulkLoop({
469
474
  args,
470
475
  config,
@@ -473,6 +478,7 @@ async function kbIngestResume(argv, io) {
473
478
  metadataMap: job.metadataMap,
474
479
  env: io.env,
475
480
  stdout: io.stdout,
481
+ preflightOptions,
476
482
  });
477
483
  writeJsonOrText(io.stdout, args, result, () => formatBulkRunSummary(result));
478
484
  return result.failed > 0 || result.blocked > 0 ? 1 : 0;
@@ -487,6 +493,7 @@ async function kbIngestExport(argv, io) {
487
493
  throw new CliError(`Bulk job not found: ${jobId}`);
488
494
  const format = getString(args, "format") ?? "jsonl";
489
495
  const rows = await readBulkFiles(statePath);
496
+ const job = await readBulkJob(statePath);
490
497
  if (format === "csv") {
491
498
  write(io.stdout, [
492
499
  csvLine([
@@ -534,7 +541,7 @@ async function kbIngestExport(argv, io) {
534
541
  throw new CliError("--format must be jsonl, json, or csv.");
535
542
  }
536
543
  if (format === "json") {
537
- write(io.stdout, `${JSON.stringify({ files: rows }, null, 2)}\n`);
544
+ write(io.stdout, `${JSON.stringify({ job, files: rows }, null, 2)}\n`);
538
545
  }
539
546
  else {
540
547
  write(io.stdout, rows
@@ -554,30 +561,42 @@ async function runBulkLoop(input) {
554
561
  let polls = 0;
555
562
  await resetInterruptedBulkUploads(input.statePath);
556
563
  await updateJobStatus(input.statePath, "running");
564
+ let lastPipelineHealth;
557
565
  while (true) {
558
566
  polls += 1;
559
567
  await pollBulkStatuses(input.statePath, input.config);
560
568
  const summary = await bulkJobSummary(input.statePath);
561
569
  const capacity = Math.max(0, windowSize - summary.inflight);
562
- const uploadLimit = Math.min(capacity, topUpMax);
570
+ lastPipelineHealth = await readBulkPipelineHealth(input.config, pollInterval);
571
+ await saveBulkPipelineHealth(input.statePath, lastPipelineHealth);
572
+ const uploadLimit = bulkUploadLimitForHealth(Math.min(capacity, topUpMax), lastPipelineHealth);
573
+ const effectiveUploadConcurrency = lastPipelineHealth.recommendedAction === "slow_down" ? 1 : uploadConcurrency;
563
574
  if (uploadLimit > 0) {
564
575
  const pending = await claimPendingBulkFiles(input.statePath, uploadLimit);
565
- await runPool(pending, uploadConcurrency, async (row) => {
566
- const result = await uploadBulkFile({
567
- args: input.args,
568
- config: input.config,
569
- selectorFields: input.selectorFields,
576
+ await runPool(pending, effectiveUploadConcurrency, async (row) => {
577
+ const materialized = await materializeBulkFileForUpload({
578
+ statePath: input.statePath,
579
+ metadataMap: input.metadataMap,
580
+ preflightOptions: input.preflightOptions,
570
581
  row,
571
- retries,
572
- env: input.env,
573
582
  });
574
- await saveBulkUploadResult(input.statePath, row.relativePath, result);
575
- return result;
583
+ return await runPool(materialized.uploadRows, 1, async (uploadRow) => {
584
+ const result = await uploadBulkFile({
585
+ args: input.args,
586
+ config: input.config,
587
+ selectorFields: input.selectorFields,
588
+ row: uploadRow,
589
+ retries,
590
+ env: input.env,
591
+ });
592
+ await saveBulkUploadResult(input.statePath, uploadRow.relativePath, result);
593
+ return result;
594
+ });
576
595
  });
577
596
  }
578
597
  const nextSummary = await bulkJobSummary(input.statePath);
579
598
  if (getBoolean(input.args, "verbose")) {
580
- write(input.stdout, `poll=${polls} pending=${nextSummary.pending} inflight=${nextSummary.inflight} completed=${nextSummary.completed} failed=${nextSummary.failed} waiting_for_index_flags=${nextSummary.waitingForIndexFlags}\n`);
599
+ write(input.stdout, `poll=${polls} pending=${nextSummary.pending} inflight=${nextSummary.inflight} completed=${nextSummary.completed} failed=${nextSummary.failed} waiting_for_index_flags=${nextSummary.waitingForIndexFlags} pressure=${lastPipelineHealth.pressure} action=${lastPipelineHealth.recommendedAction}\n`);
581
600
  }
582
601
  if (nextSummary.pending === 0 && nextSummary.inflight === 0) {
583
602
  await updateJobStatus(input.statePath, nextSummary.failed > 0 || nextSummary.blocked > 0 ? "failed" : "completed");
@@ -586,6 +605,7 @@ async function runBulkLoop(input) {
586
605
  jobId: jobIdFromStatePath(input.statePath),
587
606
  statePath: input.statePath,
588
607
  polls,
608
+ pipelineHealth: lastPipelineHealth,
589
609
  };
590
610
  }
591
611
  if (maxPolls > 0 && polls >= maxPolls) {
@@ -595,11 +615,28 @@ async function runBulkLoop(input) {
595
615
  jobId: jobIdFromStatePath(input.statePath),
596
616
  statePath: input.statePath,
597
617
  polls,
618
+ pipelineHealth: lastPipelineHealth,
598
619
  };
599
620
  }
600
- await sleep(pollInterval * 1000);
621
+ await sleep(bulkPollIntervalForHealth(pollInterval, lastPipelineHealth) * 1000);
601
622
  }
602
623
  }
624
+ function bulkUploadLimitForHealth(limit, health) {
625
+ if (limit <= 0)
626
+ return 0;
627
+ if (health.recommendedAction === "pause_top_up")
628
+ return 0;
629
+ if (health.recommendedAction === "slow_down")
630
+ return Math.max(1, Math.ceil(limit / 2));
631
+ return limit;
632
+ }
633
+ function bulkPollIntervalForHealth(baseSeconds, health) {
634
+ if (!health)
635
+ return baseSeconds;
636
+ if (health.recommendedAction === "continue")
637
+ return baseSeconds;
638
+ return Math.max(baseSeconds, health.recommendedPollAfterSeconds);
639
+ }
603
640
  async function uploadBulkFile(input) {
604
641
  const plan = {
605
642
  path: input.row.path,
@@ -620,6 +657,143 @@ async function uploadBulkFile(input) {
620
657
  env: input.env,
621
658
  });
622
659
  }
660
+ async function materializeBulkFileForUpload(input) {
661
+ if (input.row.ingestVariant === "direct_upload") {
662
+ return { uploadRows: [input.row] };
663
+ }
664
+ try {
665
+ const preflightOptions = materializeOptionsForRow(input.preflightOptions, input.row);
666
+ if (input.row.ingestVariant === "compressed_docx") {
667
+ const docxRow = await materializeDocxBulkRow(input.statePath, input.metadataMap, preflightOptions, input.row);
668
+ return { uploadRows: docxRow ? [docxRow] : [] };
669
+ }
670
+ if (input.row.ingestVariant === "page_split_pdf") {
671
+ const pdfRows = await materializePdfBulkRow(input.statePath, input.metadataMap, preflightOptions, input.row);
672
+ return { uploadRows: pdfRows };
673
+ }
674
+ await markBulkFileFailed(input.statePath, input.row.relativePath, "UNSUPPORTED_INGEST_VARIANT");
675
+ return { uploadRows: [] };
676
+ }
677
+ catch (error) {
678
+ await markBulkFileFailed(input.statePath, input.row.relativePath, error instanceof Error ? error.message : String(error));
679
+ return { uploadRows: [] };
680
+ }
681
+ }
682
+ function materializeOptionsForRow(options, row) {
683
+ const rowMaxUploadBytes = Number(row.preflight.maxUploadBytes);
684
+ return {
685
+ ...options,
686
+ maxUploadBytes: Number.isFinite(rowMaxUploadBytes) && rowMaxUploadBytes > 0
687
+ ? rowMaxUploadBytes
688
+ : options.maxUploadBytes,
689
+ };
690
+ }
691
+ async function materializeDocxBulkRow(statePath, metadataMap, options, row) {
692
+ if (row.derivedPath && row.derivedSize !== undefined && row.derivedSha256) {
693
+ const existing = await stat(row.derivedPath).catch(() => undefined);
694
+ if (existing?.isFile() && existing.size === row.derivedSize)
695
+ return row;
696
+ }
697
+ const source = bulkRecordToOriginalPlan(row);
698
+ const docx = await analyzeDocx(source.originalPath);
699
+ if (isEmptyDocxAnalysis(docx)) {
700
+ await markBulkFileSkipped(statePath, row.relativePath, "empty_docx");
701
+ return undefined;
702
+ }
703
+ const materialized = await createDocxIngestCopy(source, options, docx, row.classification);
704
+ return await updateMaterializedBulkRow(statePath, metadataMap, row.relativePath, materialized);
705
+ }
706
+ async function materializePdfBulkRow(statePath, metadataMap, options, row) {
707
+ if (row.partIndex !== undefined && row.derivedPath) {
708
+ const existing = await stat(row.derivedPath).catch(() => undefined);
709
+ if (existing?.isFile() && existing.size === row.derivedSize)
710
+ return [row];
711
+ }
712
+ const source = bulkRecordToOriginalPlan(row);
713
+ const pdf = (await analyzePdf(source.originalPath).catch((error) => ({
714
+ error: error instanceof Error ? error.message : String(error),
715
+ pageCount: 0,
716
+ imageCount: 0,
717
+ imageHeavy: false,
718
+ })));
719
+ const partPlans = await createPdfPartPlans(source, options, pdf, row.classification);
720
+ if (row.partIndex !== undefined) {
721
+ const currentPart = partPlans.find((part) => part.relativePath === row.relativePath);
722
+ if (!currentPart) {
723
+ await markBulkFileFailed(statePath, row.relativePath, "PDF_SPLIT_PART_REGENERATION_MISMATCH");
724
+ return [];
725
+ }
726
+ return [await updateMaterializedBulkRow(statePath, metadataMap, row.relativePath, currentPart)];
727
+ }
728
+ const now = new Date().toISOString();
729
+ const db = await openSqlite(statePath);
730
+ try {
731
+ createBulkSchema(db);
732
+ db.exec("BEGIN");
733
+ try {
734
+ for (const part of partPlans) {
735
+ insertBulkFilePlan(db, metadataMap, part, bulkInitialStatus(part), now);
736
+ }
737
+ db.prepare("DELETE FROM files WHERE relative_path = ?").run(row.relativePath);
738
+ touchJob(db, now);
739
+ db.exec("COMMIT");
740
+ }
741
+ catch (error) {
742
+ db.exec("ROLLBACK");
743
+ throw error;
744
+ }
745
+ }
746
+ finally {
747
+ db.close();
748
+ }
749
+ return [];
750
+ }
751
+ async function updateMaterializedBulkRow(statePath, metadataMap, relativePath, file) {
752
+ const evaluated = evaluateMetadata(metadataMap, file);
753
+ const now = new Date().toISOString();
754
+ const db = await openSqlite(statePath);
755
+ try {
756
+ createBulkSchema(db);
757
+ db.prepare(`UPDATE files
758
+ SET path = ?, size = ?, mtime_ms = ?, sha256 = ?, ext = ?, path_segments_json = ?, path_depth = ?,
759
+ metadata_json = ?, matched_rules_json = ?, classification = ?, ingest_variant = ?, source_document_key = ?,
760
+ derived_path = ?, derived_size = ?, derived_sha256 = ?, normalize_strategy = ?, generated_metadata_json = ?,
761
+ preflight_json = ?, updated_at = ?
762
+ WHERE relative_path = ?`).run(file.path, file.size, file.mtimeMs, file.sha256, file.ext, JSON.stringify(file.pathSegments), file.pathDepth, JSON.stringify(evaluated.metadata), JSON.stringify(evaluated.matchedRules), file.classification, file.ingestVariant, file.sourceDocumentKey, file.derivedPath ?? null, file.derivedSize ?? null, file.derivedSha256 ?? null, file.normalizeStrategy ?? null, JSON.stringify(file.generatedMetadata), JSON.stringify(file.preflight), now, relativePath);
763
+ touchJob(db, now);
764
+ const updated = db.prepare("SELECT * FROM files WHERE relative_path = ?").get(relativePath);
765
+ if (!updated)
766
+ throw new CliError(`Bulk row disappeared during materialization: ${relativePath}`);
767
+ return rowToBulkFile(updated);
768
+ }
769
+ finally {
770
+ db.close();
771
+ }
772
+ }
773
+ async function markBulkFileFailed(statePath, relativePath, error) {
774
+ const db = await openSqlite(statePath);
775
+ const now = new Date().toISOString();
776
+ try {
777
+ createBulkSchema(db);
778
+ db.prepare("UPDATE files SET status = 'failed', last_error = ?, updated_at = ? WHERE relative_path = ?").run(error, now, relativePath);
779
+ touchJob(db, now);
780
+ }
781
+ finally {
782
+ db.close();
783
+ }
784
+ }
785
+ async function markBulkFileSkipped(statePath, relativePath, reason) {
786
+ const db = await openSqlite(statePath);
787
+ const now = new Date().toISOString();
788
+ try {
789
+ createBulkSchema(db);
790
+ db.prepare("UPDATE files SET status = 'skipped', last_error = ?, updated_at = ? WHERE relative_path = ?").run(reason, now, relativePath);
791
+ touchJob(db, now);
792
+ }
793
+ finally {
794
+ db.close();
795
+ }
796
+ }
623
797
  async function pollBulkStatuses(statePath, config) {
624
798
  const inflight = await readInflightBulkFiles(statePath);
625
799
  const documentIds = inflight.map((row) => row.documentId).filter(Boolean);
@@ -645,6 +819,12 @@ async function pollBulkStatuses(statePath, config) {
645
819
  }
646
820
  }
647
821
  function judgeBulkStatus(item) {
822
+ if (item.itemError) {
823
+ const message = `${item.itemError.code}: ${item.itemError.message}`;
824
+ return item.itemError.retryable
825
+ ? { status: "uploaded", lastError: message }
826
+ : { status: "failed", lastError: message };
827
+ }
648
828
  const status = item.status ?? "";
649
829
  if (BULK_FAILED_STATUSES.has(status)) {
650
830
  return {
@@ -698,9 +878,7 @@ function batchStatusItems(payload) {
698
878
  : Array.isArray(data)
699
879
  ? data
700
880
  : [];
701
- return items
702
- .filter(isObject)
703
- .map((item) => statusItemFromPayload(item, stringField(item, "documentId") ?? stringField(item, "document_id") ?? ""));
881
+ return items.filter(isObject).map((item) => batchStatusItemFromPayload(item));
704
882
  }
705
883
  function statusItemFromPayload(payload, fallbackDocumentId = "") {
706
884
  const data = responseData(payload);
@@ -717,6 +895,90 @@ function statusItemFromPayload(payload, fallbackDocumentId = "") {
717
895
  raw: payload,
718
896
  };
719
897
  }
898
+ async function readBulkPipelineHealth(config, fallbackPollAfterSeconds) {
899
+ try {
900
+ const payload = await jsonRequest(config, "pipeline/health");
901
+ return pipelineHealthFromPayload(payload, fallbackPollAfterSeconds);
902
+ }
903
+ catch (error) {
904
+ if (error instanceof HttpError && error.status && [404, 405, 501].includes(error.status)) {
905
+ return {
906
+ healthy: true,
907
+ pressure: "unknown",
908
+ recommendedAction: "continue",
909
+ recommendedPollAfterSeconds: fallbackPollAfterSeconds,
910
+ message: "Pipeline health endpoint is unavailable; continuing without backpressure.",
911
+ };
912
+ }
913
+ if (error instanceof HttpError) {
914
+ return {
915
+ healthy: false,
916
+ pressure: "paused",
917
+ recommendedAction: "pause_top_up",
918
+ recommendedPollAfterSeconds: error.retryAfterSeconds ?? Math.max(fallbackPollAfterSeconds, 30),
919
+ message: error.message,
920
+ };
921
+ }
922
+ return {
923
+ healthy: false,
924
+ pressure: "paused",
925
+ recommendedAction: "pause_top_up",
926
+ recommendedPollAfterSeconds: Math.max(fallbackPollAfterSeconds, 30),
927
+ message: error instanceof Error ? error.message : String(error),
928
+ };
929
+ }
930
+ }
931
+ function pipelineHealthFromPayload(payload, fallbackPollAfterSeconds) {
932
+ const data = responseData(payload);
933
+ if (!isObject(data)) {
934
+ throw new CliError("Pipeline health response did not contain an object payload.");
935
+ }
936
+ const action = stringField(data, "recommendedAction");
937
+ if (action !== "continue" && action !== "slow_down" && action !== "pause_top_up") {
938
+ throw new CliError("Pipeline health response did not contain a valid recommendedAction.");
939
+ }
940
+ const pressure = stringField(data, "pressure");
941
+ const pollAfter = Number(data.recommendedPollAfterSeconds);
942
+ return {
943
+ healthy: typeof data.healthy === "boolean" ? data.healthy : action === "continue",
944
+ pressure: pressure === "ok" || pressure === "degraded" || pressure === "paused" ? pressure : "unknown",
945
+ recommendedAction: action,
946
+ recommendedPollAfterSeconds: Number.isFinite(pollAfter) && pollAfter > 0 ? pollAfter : fallbackPollAfterSeconds,
947
+ checkedAt: stringField(data, "checkedAt"),
948
+ message: stringField(data, "message") ??
949
+ (isObject(data.indexPreflight) ? stringField(data.indexPreflight, "message") : undefined),
950
+ };
951
+ }
952
+ async function saveBulkPipelineHealth(statePath, health) {
953
+ const db = await openSqlite(statePath);
954
+ const now = new Date().toISOString();
955
+ try {
956
+ createBulkSchema(db);
957
+ db.prepare("UPDATE jobs SET pipeline_health_json = ?, updated_at = ?").run(JSON.stringify(health), now);
958
+ }
959
+ finally {
960
+ db.close();
961
+ }
962
+ }
963
+ function batchStatusItemFromPayload(item) {
964
+ const documentId = stringField(item, "documentId") ?? stringField(item, "document_id") ?? "";
965
+ if (item.ok === true && isObject(item.status)) {
966
+ return statusItemFromPayload(item.status, documentId);
967
+ }
968
+ if (item.ok === false && isObject(item.error)) {
969
+ const error = item.error;
970
+ return {
971
+ documentId,
972
+ itemError: {
973
+ code: stringField(error, "code") ?? "STATUS_ITEM_ERROR",
974
+ message: stringField(error, "message") ?? "Document status lookup failed.",
975
+ retryable: typeof error.retryable === "boolean" ? error.retryable : false,
976
+ },
977
+ raw: item,
978
+ };
979
+ }
980
+ return statusItemFromPayload(item, documentId);
981
+ }
720
982
  async function initializeBulkJob(input) {
721
983
  await mkdir(dirname(input.statePath), { recursive: true });
722
984
  const db = await openSqlite(input.statePath);
@@ -728,15 +990,9 @@ async function initializeBulkJob(input) {
728
990
  db.prepare(`INSERT INTO jobs (job_id, root_path, collection_selector_json, schema_snapshot_json, metadata_map_json, dry_run_summary_json, status, created_at, updated_at)
729
991
  VALUES (?, ?, ?, ?, ?, ?, 'created', ?, ?)`).run(input.jobId, input.rootPath, JSON.stringify(input.selector), JSON.stringify(input.schemaSnapshot ?? null), JSON.stringify(input.metadataMap), JSON.stringify(input.dryRunSummary), now, now);
730
992
  }
731
- const insert = db.prepare(`INSERT OR IGNORE INTO files
732
- (path, relative_path, size, mtime_ms, sha256, ext, path_segments_json, path_depth, metadata_json, matched_rules_json, status, attempts, created_at, updated_at,
733
- original_path, original_relative_path, original_size, original_mtime_ms, original_sha256, original_ext, classification, ingest_variant, source_document_key,
734
- derived_path, derived_size, derived_sha256, normalize_strategy, part_index, part_count, page_start, page_end, generated_metadata_json, preflight_json)
735
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
736
993
  for (const file of input.files) {
737
- const evaluated = evaluateMetadata(input.metadataMap, file);
738
994
  const status = bulkInitialStatus(file);
739
- insert.run(file.path, file.relativePath, file.size, file.mtimeMs, file.sha256, file.ext, JSON.stringify(file.pathSegments), file.pathDepth, JSON.stringify(evaluated.metadata), JSON.stringify(evaluated.matchedRules), status, now, now, file.originalPath, file.originalRelativePath, file.originalSize, file.originalMtimeMs, file.originalSha256, file.originalExt, file.classification, file.ingestVariant, file.sourceDocumentKey, file.derivedPath ?? null, file.derivedSize ?? null, file.derivedSha256 ?? null, file.normalizeStrategy ?? null, file.partIndex ?? null, file.partCount ?? null, file.pageStart ?? null, file.pageEnd ?? null, JSON.stringify(file.generatedMetadata), JSON.stringify(file.preflight));
995
+ insertBulkFilePlan(db, input.metadataMap, file, status, now);
740
996
  }
741
997
  touchJob(db, now);
742
998
  }
@@ -751,6 +1007,14 @@ async function openSqlite(path) {
751
1007
  db.exec("PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON;");
752
1008
  return db;
753
1009
  }
1010
+ function insertBulkFilePlan(db, metadataMap, file, status, now) {
1011
+ const evaluated = evaluateMetadata(metadataMap, file);
1012
+ db.prepare(`INSERT OR IGNORE INTO files
1013
+ (path, relative_path, size, mtime_ms, sha256, ext, path_segments_json, path_depth, metadata_json, matched_rules_json, status, attempts, created_at, updated_at,
1014
+ original_path, original_relative_path, original_size, original_mtime_ms, original_sha256, original_ext, classification, ingest_variant, source_document_key,
1015
+ derived_path, derived_size, derived_sha256, normalize_strategy, part_index, part_count, page_start, page_end, generated_metadata_json, preflight_json)
1016
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(file.path, file.relativePath, file.size, file.mtimeMs, file.sha256, file.ext, JSON.stringify(file.pathSegments), file.pathDepth, JSON.stringify(evaluated.metadata), JSON.stringify(evaluated.matchedRules), status, now, now, file.originalPath, file.originalRelativePath, file.originalSize, file.originalMtimeMs, file.originalSha256, file.originalExt, file.classification, file.ingestVariant, file.sourceDocumentKey, file.derivedPath ?? null, file.derivedSize ?? null, file.derivedSha256 ?? null, file.normalizeStrategy ?? null, file.partIndex ?? null, file.partCount ?? null, file.pageStart ?? null, file.pageEnd ?? null, JSON.stringify(file.generatedMetadata), JSON.stringify(file.preflight));
1017
+ }
754
1018
  function createBulkSchema(db) {
755
1019
  db.exec(`
756
1020
  CREATE TABLE IF NOT EXISTS jobs (
@@ -760,6 +1024,7 @@ function createBulkSchema(db) {
760
1024
  schema_snapshot_json TEXT,
761
1025
  metadata_map_json TEXT NOT NULL,
762
1026
  dry_run_summary_json TEXT,
1027
+ pipeline_health_json TEXT,
763
1028
  status TEXT NOT NULL,
764
1029
  created_at TEXT NOT NULL,
765
1030
  updated_at TEXT NOT NULL
@@ -804,8 +1069,16 @@ function createBulkSchema(db) {
804
1069
  CREATE INDEX IF NOT EXISTS idx_files_status ON files(status);
805
1070
  CREATE INDEX IF NOT EXISTS idx_files_document_id ON files(document_id);
806
1071
  `);
1072
+ ensureBulkJobColumns(db);
807
1073
  ensureBulkFileColumns(db);
808
1074
  }
1075
+ function ensureBulkJobColumns(db) {
1076
+ const rows = db.prepare("PRAGMA table_info(jobs)").all();
1077
+ const columns = new Set(rows.map((row) => String(row.name)));
1078
+ if (!columns.has("pipeline_health_json")) {
1079
+ db.exec("ALTER TABLE jobs ADD COLUMN pipeline_health_json TEXT;");
1080
+ }
1081
+ }
809
1082
  function ensureBulkFileColumns(db) {
810
1083
  const rows = db.prepare("PRAGMA table_info(files)").all();
811
1084
  const columns = new Set(rows.map((row) => String(row.name)));
@@ -855,6 +1128,9 @@ async function readBulkJob(statePath) {
855
1128
  dryRunSummary: row.dry_run_summary_json
856
1129
  ? JSON.parse(String(row.dry_run_summary_json))
857
1130
  : undefined,
1131
+ pipelineHealth: row.pipeline_health_json
1132
+ ? JSON.parse(String(row.pipeline_health_json))
1133
+ : undefined,
858
1134
  createdAt: String(row.created_at),
859
1135
  updatedAt: String(row.updated_at),
860
1136
  };
@@ -944,7 +1220,8 @@ async function resetInterruptedBulkUploads(statePath) {
944
1220
  const db = await openSqlite(statePath);
945
1221
  const now = new Date().toISOString();
946
1222
  try {
947
- db.prepare("UPDATE files SET status = 'pending', last_error = ?, updated_at = ? WHERE status = 'uploading' AND document_id IS NULL").run("Upload was interrupted before a document id was recorded.", now);
1223
+ createBulkSchema(db);
1224
+ db.prepare("UPDATE files SET status = 'pending', last_error = ?, updated_at = ? WHERE status IN ('uploading', 'planned') AND document_id IS NULL").run("Upload was interrupted before a document id was recorded.", now);
948
1225
  touchJob(db, now);
949
1226
  }
950
1227
  finally {
@@ -1014,6 +1291,32 @@ function rowToBulkFile(row) {
1014
1291
  : {},
1015
1292
  };
1016
1293
  }
1294
+ function bulkRecordToOriginalPlan(row) {
1295
+ const pathSegments = row.originalRelativePath.split("/").filter(Boolean);
1296
+ return {
1297
+ path: row.originalPath,
1298
+ filename: basename(row.originalPath),
1299
+ size: row.originalSize,
1300
+ mtimeMs: row.originalMtimeMs,
1301
+ sha256: row.originalSha256,
1302
+ manifestKey: row.originalRelativePath,
1303
+ relativePath: row.originalRelativePath,
1304
+ ext: row.originalExt,
1305
+ pathSegments,
1306
+ pathDepth: pathSegments.length,
1307
+ originalPath: row.originalPath,
1308
+ originalRelativePath: row.originalRelativePath,
1309
+ originalSize: row.originalSize,
1310
+ originalMtimeMs: row.originalMtimeMs,
1311
+ originalSha256: row.originalSha256,
1312
+ originalExt: row.originalExt,
1313
+ classification: row.classification,
1314
+ ingestVariant: row.ingestVariant,
1315
+ sourceDocumentKey: row.sourceDocumentKey,
1316
+ generatedMetadata: row.generatedMetadata,
1317
+ preflight: row.preflight,
1318
+ };
1319
+ }
1017
1320
  async function resolveBulkStatePath(args, jobIdInput) {
1018
1321
  const explicit = getString(args, "state");
1019
1322
  if (explicit)
@@ -1121,12 +1424,31 @@ async function preflightOneBulkFile(file, options) {
1121
1424
  const docx = await analyzeDocx(file.path).catch((error) => ({
1122
1425
  error: error instanceof Error ? error.message : String(error),
1123
1426
  }));
1427
+ if (isEmptyDocxAnalysis(docx)) {
1428
+ return [
1429
+ decorateBulkPlan(file, "empty", "skipped", {
1430
+ ...docx,
1431
+ reason: "empty_docx",
1432
+ maxUploadBytes: options.maxUploadBytes,
1433
+ }),
1434
+ ];
1435
+ }
1436
+ if (file.size <= DOCX_NORMALIZE_MIN_BYTES) {
1437
+ return [
1438
+ decorateBulkPlan(file, "direct_upload", "direct_upload", {
1439
+ ...docx,
1440
+ maxUploadBytes: options.maxUploadBytes,
1441
+ normalizeThresholdBytes: DOCX_NORMALIZE_MIN_BYTES,
1442
+ }),
1443
+ ];
1444
+ }
1124
1445
  const classification = file.size > options.maxUploadBytes ? "oversize_docx_image_heavy" : "direct_upload";
1125
1446
  if (!options.generateDerived) {
1126
1447
  return [
1127
1448
  decorateBulkPlan(file, classification, "compressed_docx", {
1128
1449
  ...docx,
1129
1450
  maxUploadBytes: options.maxUploadBytes,
1451
+ normalizeThresholdBytes: DOCX_NORMALIZE_MIN_BYTES,
1130
1452
  normalizeStrategy: "docx_image_300dpi_normalize",
1131
1453
  }),
1132
1454
  ];
@@ -1254,15 +1576,16 @@ function bulkInitialStatus(file) {
1254
1576
  return "skipped";
1255
1577
  if (file.ingestVariant === "skipped")
1256
1578
  return "blocked";
1257
- if ((file.ingestVariant === "compressed_docx" || file.ingestVariant === "page_split_pdf") &&
1258
- file.derivedSize === undefined) {
1259
- return "planned";
1260
- }
1261
- if (file.ingestVariant === "compressed_docx")
1579
+ if (file.ingestVariant === "compressed_docx" && file.derivedSize === undefined)
1262
1580
  return "pending";
1263
- if (file.size > 0 && file.size <= Number(file.preflight.maxUploadBytes ?? Infinity))
1581
+ if (file.ingestVariant === "page_split_pdf" && file.derivedSize === undefined)
1264
1582
  return "pending";
1265
- if (file.classification === "direct_upload")
1583
+ if (file.ingestVariant === "compressed_docx") {
1584
+ if (file.derivedSize !== undefined && file.derivedSize <= Number(file.preflight.maxUploadBytes))
1585
+ return "pending";
1586
+ return "blocked";
1587
+ }
1588
+ if (file.size > 0 && file.size <= Number(file.preflight.maxUploadBytes ?? Infinity))
1266
1589
  return "pending";
1267
1590
  if (file.derivedSize !== undefined && file.derivedSize <= Number(file.preflight.maxUploadBytes))
1268
1591
  return "pending";
@@ -1378,13 +1701,61 @@ async function analyzeDocx(path) {
1378
1701
  const entries = readZipEntries(await readFile(path));
1379
1702
  const media = entries.filter((entry) => entry.name.startsWith("word/media/") && !entry.name.endsWith("/"));
1380
1703
  const mediaSizes = media.map((entry) => entry.uncompressedSize);
1704
+ const documentXml = zipEntryText(entries, "word/document.xml") ?? "";
1705
+ const bodyText = extractDocxBodyText(documentXml);
1706
+ const appXml = zipEntryText(entries, "docProps/app.xml") ?? "";
1381
1707
  return {
1382
1708
  mediaCount: media.length,
1383
1709
  mediaTotalBytes: mediaSizes.reduce((sum, size) => sum + size, 0),
1384
1710
  mediaMaxBytes: mediaSizes.reduce((max, size) => Math.max(max, size), 0),
1711
+ textCharacterCount: bodyText.length,
1712
+ paragraphCount: countRegex(documentXml, /<w:p(?:\s|>)/g),
1713
+ drawingCount: countRegex(documentXml, /<w:drawing(?:\s|>)/g),
1714
+ pictCount: countRegex(documentXml, /<w:pict(?:\s|>)/g),
1715
+ appWords: xmlElementNumber(appXml, "Words"),
1716
+ appCharacters: xmlElementNumber(appXml, "Characters"),
1717
+ appParagraphs: xmlElementNumber(appXml, "Paragraphs"),
1385
1718
  zipEntryCount: entries.length,
1386
1719
  };
1387
1720
  }
1721
+ function isEmptyDocxAnalysis(docx) {
1722
+ if (docx.error)
1723
+ return false;
1724
+ const mediaCount = Number(docx.mediaCount ?? 0);
1725
+ const textCharacterCount = Number(docx.textCharacterCount ?? 0);
1726
+ const appWords = Number(docx.appWords ?? 0);
1727
+ return mediaCount === 0 && textCharacterCount === 0 && appWords === 0;
1728
+ }
1729
+ function zipEntryText(entries, name) {
1730
+ const entry = entries.find((candidate) => candidate.name === name);
1731
+ return entry?.data.toString("utf8");
1732
+ }
1733
+ function extractDocxBodyText(xml) {
1734
+ const text = [...xml.matchAll(/<w:t\b[^>]*>([\s\S]*?)<\/w:t>/g)]
1735
+ .map((match) => decodeXmlText(match[1] ?? ""))
1736
+ .join("");
1737
+ return text.trim();
1738
+ }
1739
+ function countRegex(input, regex) {
1740
+ return (input.match(regex) ?? []).length;
1741
+ }
1742
+ function xmlElementNumber(xml, name) {
1743
+ const match = new RegExp(`<${name}>(\\d+)</${name}>`).exec(xml);
1744
+ if (!match)
1745
+ return undefined;
1746
+ const value = Number(match[1]);
1747
+ return Number.isFinite(value) ? value : undefined;
1748
+ }
1749
+ function decodeXmlText(input) {
1750
+ return input
1751
+ .replace(/&lt;/g, "<")
1752
+ .replace(/&gt;/g, ">")
1753
+ .replace(/&quot;/g, '"')
1754
+ .replace(/&apos;/g, "'")
1755
+ .replace(/&amp;/g, "&")
1756
+ .replace(/&#(\d+);/g, (_, code) => String.fromCodePoint(Number(code)))
1757
+ .replace(/&#x([0-9a-f]+);/gi, (_, code) => String.fromCodePoint(parseInt(code, 16)));
1758
+ }
1388
1759
  async function createDocxIngestCopy(file, options, docx, classification) {
1389
1760
  const derivedPath = join(options.workDir, "docx", `${safeDerivedName(file.originalRelativePath)}-${file.sha256.slice(0, 12)}.docx`);
1390
1761
  await mkdir(dirname(derivedPath), { recursive: true });
@@ -2249,7 +2620,9 @@ function csvLine(values) {
2249
2620
  return values.map((value) => `"${value.replace(/"/g, '""')}"`).join(",");
2250
2621
  }
2251
2622
  function formatBulkRunSummary(summary) {
2252
- return `Bulk job ${summary.jobId}: completed=${summary.completed} failed=${summary.failed} skipped=${summary.skipped} blocked=${summary.blocked} pending=${summary.pending} inflight=${summary.inflight} waiting_for_index_flags=${summary.waitingForIndexFlags} state=${summary.statePath}\n`;
2623
+ const pressure = summary.pipelineHealth?.pressure ?? "unknown";
2624
+ const action = summary.pipelineHealth?.recommendedAction ?? "continue";
2625
+ return `Bulk job ${summary.jobId}: completed=${summary.completed} failed=${summary.failed} skipped=${summary.skipped} blocked=${summary.blocked} pending=${summary.pending} inflight=${summary.inflight} waiting_for_index_flags=${summary.waitingForIndexFlags} pressure=${pressure} action=${action} state=${summary.statePath}\n`;
2253
2626
  }
2254
2627
  async function uploadWithRetries(input) {
2255
2628
  let lastError;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiangong-ai/cli",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Tiangong AI command-line interface.",
5
5
  "repository": {
6
6
  "type": "git",