@fenglimg/fabric-shared 2.0.0-rc.21 → 2.0.0-rc.22

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.
@@ -11,7 +11,7 @@ var BOOTSTRAP_CANONICAL = `# Fabric Bootstrap
11
11
 
12
12
  ## \u884C\u4E3A\u89C4\u5219
13
13
  - **\u4FEE\u6539\u4EFB\u4F55\u6587\u4EF6\u524D**:\u5FC5\u987B\u5148\u8C03 \`fab_plan_context(paths=[<\u88AB\u6539\u6587\u4EF6>])\`,\u518D\u8C03 \`fab_get_knowledge_sections\` \u53D6\u76F8\u5173\u89C4\u5219\u6BB5\u843D\u3002
14
- - **\`.fabric/agents.meta.json\` \u4E25\u7981\u624B\u52A8\u7F16\u8F91**:baseline \u53D8\u66F4\u53EA\u80FD\u901A\u8FC7 \`fabric doctor --fix\` \u63A5\u53D7\u3002
14
+ - **\`.fabric/agents.meta.json\` \u4E25\u7981\u624B\u52A8\u7F16\u8F91**;engine \u4F1A\u81EA\u52A8\u540C\u6B65\u6D3E\u751F\u72B6\u6001,\u663E\u5F0F reconcile \u8DD1 \`fab doctor --fix\`\u3002
15
15
 
16
16
  ## \u77E5\u8BC6\u5E93(KB)
17
17
  - **Discovery**:SessionStart hook \u5217 broad-scoped \u6761\u76EE;edit \u6587\u4EF6\u65F6 PreToolUse hook \u53EF\u80FD\u89E6\u53D1 narrow hint\u3002
@@ -111,7 +111,14 @@ var planContextOutputSchema = z.object({
111
111
  })
112
112
  )
113
113
  }),
114
- warnings: z.array(structuredWarningSchema).optional()
114
+ warnings: z.array(structuredWarningSchema).optional(),
115
+ // v2.0.0-rc.22 Scope D T-D2: optional auto-heal banner fields. Surfaced
116
+ // ONLY when the loadActiveMetaOrStale call detected drift and rebuilt the
117
+ // meta in-place. Downstream CLI / hint renderers use this pair to render a
118
+ // "knowledge meta auto-healed (was <prev>, now <curr>)" notice without
119
+ // having to query the event ledger.
120
+ auto_healed: z.boolean().optional(),
121
+ previous_revision_hash: z.string().optional()
115
122
  });
116
123
  var planContextAnnotations = {
117
124
  readOnlyHint: true,
package/dist/index.d.ts CHANGED
@@ -1387,6 +1387,7 @@ declare const fabricConfigSchema: z.ZodObject<{
1387
1387
  archive_digest_max_sessions: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1388
1388
  review_topic_result_cap: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1389
1389
  review_stale_pending_days: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1390
+ fabric_event_retention_days: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<7>, z.ZodLiteral<30>, z.ZodLiteral<90>]>>;
1390
1391
  }, "strip", z.ZodTypeAny, {
1391
1392
  fabric_language: "match-existing" | "zh-CN" | "en" | "zh-CN-hybrid";
1392
1393
  default_layer_filter: "personal" | "team" | "both";
@@ -1420,6 +1421,7 @@ declare const fabricConfigSchema: z.ZodObject<{
1420
1421
  warnBytes?: number | undefined;
1421
1422
  hardBytes?: number | undefined;
1422
1423
  } | undefined;
1424
+ fabric_event_retention_days?: 7 | 30 | 90 | undefined;
1423
1425
  }, {
1424
1426
  clientPaths?: {
1425
1427
  claudeCodeCLI?: string | undefined;
@@ -1453,6 +1455,7 @@ declare const fabricConfigSchema: z.ZodObject<{
1453
1455
  archive_digest_max_sessions?: number | undefined;
1454
1456
  review_topic_result_cap?: number | undefined;
1455
1457
  review_stale_pending_days?: number | undefined;
1458
+ fabric_event_retention_days?: 7 | 30 | 90 | undefined;
1456
1459
  }>;
1457
1460
 
1458
1461
  type FabricConfigSchemaShape = z.infer<typeof fabricConfigSchema>;
@@ -5471,6 +5474,7 @@ declare const metaReconciledEventSchema: z.ZodObject<{
5471
5474
  duration_ms: z.ZodNumber;
5472
5475
  trigger: z.ZodEnum<["doctor", "manual"]>;
5473
5476
  source: z.ZodLiteral<"reconcileKnowledge">;
5477
+ force_write_reason: z.ZodOptional<z.ZodEnum<["revision_drift"]>>;
5474
5478
  kind: z.ZodLiteral<"fabric-event">;
5475
5479
  id: z.ZodString;
5476
5480
  ts: z.ZodNumber;
@@ -5489,6 +5493,7 @@ declare const metaReconciledEventSchema: z.ZodObject<{
5489
5493
  trigger: "manual" | "doctor";
5490
5494
  correlation_id?: string | undefined;
5491
5495
  session_id?: string | undefined;
5496
+ force_write_reason?: "revision_drift" | undefined;
5492
5497
  }, {
5493
5498
  id: string;
5494
5499
  source: "reconcileKnowledge";
@@ -5501,6 +5506,7 @@ declare const metaReconciledEventSchema: z.ZodObject<{
5501
5506
  trigger: "manual" | "doctor";
5502
5507
  correlation_id?: string | undefined;
5503
5508
  session_id?: string | undefined;
5509
+ force_write_reason?: "revision_drift" | undefined;
5504
5510
  }>;
5505
5511
  declare const claudeSkillPathMigratedEventSchema: z.ZodObject<{
5506
5512
  event_type: z.ZodLiteral<"claude_skill_path_migrated">;
@@ -6305,6 +6311,80 @@ declare const citePolicyActivatedEventSchema: z.ZodObject<{
6305
6311
  correlation_id?: string | undefined;
6306
6312
  session_id?: string | undefined;
6307
6313
  }>;
6314
+ declare const eventsRotatedEventSchema: z.ZodObject<{
6315
+ event_type: z.ZodLiteral<"events_rotated">;
6316
+ cutoff_ts: z.ZodString;
6317
+ archived_count: z.ZodNumber;
6318
+ kept_count: z.ZodNumber;
6319
+ archive_path: z.ZodString;
6320
+ kind: z.ZodLiteral<"fabric-event">;
6321
+ id: z.ZodString;
6322
+ ts: z.ZodNumber;
6323
+ schema_version: z.ZodLiteral<1>;
6324
+ correlation_id: z.ZodOptional<z.ZodString>;
6325
+ session_id: z.ZodOptional<z.ZodString>;
6326
+ }, "strip", z.ZodTypeAny, {
6327
+ id: string;
6328
+ ts: number;
6329
+ schema_version: 1;
6330
+ kind: "fabric-event";
6331
+ event_type: "events_rotated";
6332
+ cutoff_ts: string;
6333
+ archived_count: number;
6334
+ kept_count: number;
6335
+ archive_path: string;
6336
+ correlation_id?: string | undefined;
6337
+ session_id?: string | undefined;
6338
+ }, {
6339
+ id: string;
6340
+ ts: number;
6341
+ schema_version: 1;
6342
+ kind: "fabric-event";
6343
+ event_type: "events_rotated";
6344
+ cutoff_ts: string;
6345
+ archived_count: number;
6346
+ kept_count: number;
6347
+ archive_path: string;
6348
+ correlation_id?: string | undefined;
6349
+ session_id?: string | undefined;
6350
+ }>;
6351
+ declare const knowledgeMetaAutoHealedEventSchema: z.ZodObject<{
6352
+ event_type: z.ZodLiteral<"knowledge_meta_auto_healed">;
6353
+ previous_revision_hash: z.ZodString;
6354
+ revision_hash: z.ZodString;
6355
+ trigger: z.ZodLiteral<"read">;
6356
+ caller: z.ZodOptional<z.ZodEnum<["planContext", "getKnowledgeSections", "getKnowledge", "extractKnowledge"]>>;
6357
+ kind: z.ZodLiteral<"fabric-event">;
6358
+ id: z.ZodString;
6359
+ ts: z.ZodNumber;
6360
+ schema_version: z.ZodLiteral<1>;
6361
+ correlation_id: z.ZodOptional<z.ZodString>;
6362
+ session_id: z.ZodOptional<z.ZodString>;
6363
+ }, "strip", z.ZodTypeAny, {
6364
+ id: string;
6365
+ revision_hash: string;
6366
+ previous_revision_hash: string;
6367
+ ts: number;
6368
+ schema_version: 1;
6369
+ kind: "fabric-event";
6370
+ event_type: "knowledge_meta_auto_healed";
6371
+ trigger: "read";
6372
+ correlation_id?: string | undefined;
6373
+ session_id?: string | undefined;
6374
+ caller?: "planContext" | "getKnowledgeSections" | "getKnowledge" | "extractKnowledge" | undefined;
6375
+ }, {
6376
+ id: string;
6377
+ revision_hash: string;
6378
+ previous_revision_hash: string;
6379
+ ts: number;
6380
+ schema_version: 1;
6381
+ kind: "fabric-event";
6382
+ event_type: "knowledge_meta_auto_healed";
6383
+ trigger: "read";
6384
+ correlation_id?: string | undefined;
6385
+ session_id?: string | undefined;
6386
+ caller?: "planContext" | "getKnowledgeSections" | "getKnowledge" | "extractKnowledge" | undefined;
6387
+ }>;
6308
6388
  declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.ZodObject<{
6309
6389
  event_type: z.ZodLiteral<"knowledge_context_planned">;
6310
6390
  target_paths: z.ZodArray<z.ZodString, "many">;
@@ -6780,6 +6860,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
6780
6860
  duration_ms: z.ZodNumber;
6781
6861
  trigger: z.ZodEnum<["doctor", "manual"]>;
6782
6862
  source: z.ZodLiteral<"reconcileKnowledge">;
6863
+ force_write_reason: z.ZodOptional<z.ZodEnum<["revision_drift"]>>;
6783
6864
  kind: z.ZodLiteral<"fabric-event">;
6784
6865
  id: z.ZodString;
6785
6866
  ts: z.ZodNumber;
@@ -6798,6 +6879,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
6798
6879
  trigger: "manual" | "doctor";
6799
6880
  correlation_id?: string | undefined;
6800
6881
  session_id?: string | undefined;
6882
+ force_write_reason?: "revision_drift" | undefined;
6801
6883
  }, {
6802
6884
  id: string;
6803
6885
  source: "reconcileKnowledge";
@@ -6810,6 +6892,7 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
6810
6892
  trigger: "manual" | "doctor";
6811
6893
  correlation_id?: string | undefined;
6812
6894
  session_id?: string | undefined;
6895
+ force_write_reason?: "revision_drift" | undefined;
6813
6896
  }>, z.ZodObject<{
6814
6897
  event_type: z.ZodLiteral<"claude_skill_path_migrated">;
6815
6898
  from: z.ZodString;
@@ -7590,6 +7673,78 @@ declare const eventLedgerEventSchema: z.ZodDiscriminatedUnion<"event_type", [z.Z
7590
7673
  policy_version: string;
7591
7674
  correlation_id?: string | undefined;
7592
7675
  session_id?: string | undefined;
7676
+ }>, z.ZodObject<{
7677
+ event_type: z.ZodLiteral<"knowledge_meta_auto_healed">;
7678
+ previous_revision_hash: z.ZodString;
7679
+ revision_hash: z.ZodString;
7680
+ trigger: z.ZodLiteral<"read">;
7681
+ caller: z.ZodOptional<z.ZodEnum<["planContext", "getKnowledgeSections", "getKnowledge", "extractKnowledge"]>>;
7682
+ kind: z.ZodLiteral<"fabric-event">;
7683
+ id: z.ZodString;
7684
+ ts: z.ZodNumber;
7685
+ schema_version: z.ZodLiteral<1>;
7686
+ correlation_id: z.ZodOptional<z.ZodString>;
7687
+ session_id: z.ZodOptional<z.ZodString>;
7688
+ }, "strip", z.ZodTypeAny, {
7689
+ id: string;
7690
+ revision_hash: string;
7691
+ previous_revision_hash: string;
7692
+ ts: number;
7693
+ schema_version: 1;
7694
+ kind: "fabric-event";
7695
+ event_type: "knowledge_meta_auto_healed";
7696
+ trigger: "read";
7697
+ correlation_id?: string | undefined;
7698
+ session_id?: string | undefined;
7699
+ caller?: "planContext" | "getKnowledgeSections" | "getKnowledge" | "extractKnowledge" | undefined;
7700
+ }, {
7701
+ id: string;
7702
+ revision_hash: string;
7703
+ previous_revision_hash: string;
7704
+ ts: number;
7705
+ schema_version: 1;
7706
+ kind: "fabric-event";
7707
+ event_type: "knowledge_meta_auto_healed";
7708
+ trigger: "read";
7709
+ correlation_id?: string | undefined;
7710
+ session_id?: string | undefined;
7711
+ caller?: "planContext" | "getKnowledgeSections" | "getKnowledge" | "extractKnowledge" | undefined;
7712
+ }>, z.ZodObject<{
7713
+ event_type: z.ZodLiteral<"events_rotated">;
7714
+ cutoff_ts: z.ZodString;
7715
+ archived_count: z.ZodNumber;
7716
+ kept_count: z.ZodNumber;
7717
+ archive_path: z.ZodString;
7718
+ kind: z.ZodLiteral<"fabric-event">;
7719
+ id: z.ZodString;
7720
+ ts: z.ZodNumber;
7721
+ schema_version: z.ZodLiteral<1>;
7722
+ correlation_id: z.ZodOptional<z.ZodString>;
7723
+ session_id: z.ZodOptional<z.ZodString>;
7724
+ }, "strip", z.ZodTypeAny, {
7725
+ id: string;
7726
+ ts: number;
7727
+ schema_version: 1;
7728
+ kind: "fabric-event";
7729
+ event_type: "events_rotated";
7730
+ cutoff_ts: string;
7731
+ archived_count: number;
7732
+ kept_count: number;
7733
+ archive_path: string;
7734
+ correlation_id?: string | undefined;
7735
+ session_id?: string | undefined;
7736
+ }, {
7737
+ id: string;
7738
+ ts: number;
7739
+ schema_version: 1;
7740
+ kind: "fabric-event";
7741
+ event_type: "events_rotated";
7742
+ cutoff_ts: string;
7743
+ archived_count: number;
7744
+ kept_count: number;
7745
+ archive_path: string;
7746
+ correlation_id?: string | undefined;
7747
+ session_id?: string | undefined;
7593
7748
  }>]>;
7594
7749
  type KnowledgeContextPlannedEvent = z.infer<typeof knowledgeContextPlannedEventSchema>;
7595
7750
  type KnowledgeSelectionEvent = z.infer<typeof knowledgeSelectionEventSchema>;
@@ -7626,9 +7781,11 @@ type DoctorRunEvent = z.infer<typeof doctorRunEventSchema>;
7626
7781
  type RelevanceMigrationRunEvent = z.infer<typeof relevanceMigrationRunEventSchema>;
7627
7782
  type AssistantTurnObservedEvent = z.infer<typeof assistantTurnObservedEventSchema>;
7628
7783
  type CitePolicyActivatedEvent = z.infer<typeof citePolicyActivatedEventSchema>;
7629
- type EventLedgerEvent = KnowledgeContextPlannedEvent | KnowledgeSelectionEvent | KnowledgeSectionsFetchedEvent | EditIntentCheckedEvent | KnowledgeDriftDetectedEvent | McpEventLedgerEvent | ReapplyCompletedEvent | EventLedgerTruncatedEvent | McpConfigMigratedEvent | BootstrapMarkerMigratedEvent | MetaReconciledOnStartupEvent | MetaReconciledEvent | ClaudeSkillPathMigratedEvent | ClaudeHookPathMigratedEvent | CodexSkillPathMigratedEvent | InitScanCompletedEvent | KnowledgeProposedEvent | KnowledgePromoteStartedEvent | KnowledgePromotedEvent | KnowledgePromoteFailedEvent | KnowledgeLayerChangedEvent | KnowledgeSlugRenamedEvent | KnowledgeDemotedEvent | KnowledgeArchivedEvent | KnowledgeArchiveAttemptedEvent | KnowledgeDeferredEvent | KnowledgeRejectedEvent | KnowledgeConsumedEvent | KnowledgeScopeDegradedEvent | PendingAutoArchivedEvent | KnowledgePathDangledEvent | DoctorRunEvent | RelevanceMigrationRunEvent | AssistantTurnObservedEvent | CitePolicyActivatedEvent;
7784
+ type KnowledgeMetaAutoHealedEvent = z.infer<typeof knowledgeMetaAutoHealedEventSchema>;
7785
+ type EventsRotatedEvent = z.infer<typeof eventsRotatedEventSchema>;
7786
+ type EventLedgerEvent = KnowledgeContextPlannedEvent | KnowledgeSelectionEvent | KnowledgeSectionsFetchedEvent | EditIntentCheckedEvent | KnowledgeDriftDetectedEvent | McpEventLedgerEvent | ReapplyCompletedEvent | EventLedgerTruncatedEvent | McpConfigMigratedEvent | BootstrapMarkerMigratedEvent | MetaReconciledOnStartupEvent | MetaReconciledEvent | ClaudeSkillPathMigratedEvent | ClaudeHookPathMigratedEvent | CodexSkillPathMigratedEvent | InitScanCompletedEvent | KnowledgeProposedEvent | KnowledgePromoteStartedEvent | KnowledgePromotedEvent | KnowledgePromoteFailedEvent | KnowledgeLayerChangedEvent | KnowledgeSlugRenamedEvent | KnowledgeDemotedEvent | KnowledgeArchivedEvent | KnowledgeArchiveAttemptedEvent | KnowledgeDeferredEvent | KnowledgeRejectedEvent | KnowledgeConsumedEvent | KnowledgeScopeDegradedEvent | PendingAutoArchivedEvent | KnowledgePathDangledEvent | DoctorRunEvent | RelevanceMigrationRunEvent | AssistantTurnObservedEvent | CitePolicyActivatedEvent | KnowledgeMetaAutoHealedEvent | EventsRotatedEvent;
7630
7787
  type EventLedgerEventType = EventLedgerEvent["event_type"];
7631
7788
  type EventLedgerEventInputFor<T extends EventLedgerEvent> = T extends EventLedgerEvent ? Omit<T, "kind" | "id" | "ts" | "schema_version" | "correlation_id" | "session_id"> & Partial<Pick<T, "id" | "ts" | "correlation_id" | "session_id">> : never;
7632
7789
  type EventLedgerEventInput = EventLedgerEventInputFor<EventLedgerEvent>;
7633
7790
 
7634
- export { AGENTS_META_IDENTITY_SOURCES, AGENTS_META_LAYERS, AGENTS_META_TOPOLOGY_TYPES, AgentsIdentitySource, AgentsLayer, AgentsMeta, type AgentsMetaCounters, AgentsMetaCountersSchema, AgentsMetaNode, AgentsTopologyType, type AssistantTurnObservedEvent, type BootstrapMarkerMigratedEvent, type CandidateFileEntry, type CandidateFileFamily, type CitePolicyActivatedEvent, type ClaudeHookPathMigratedEvent, type ClaudeSkillPathMigratedEvent, type CodexSkillPathMigratedEvent, type DoctorRunEvent, type DriftDetectedEvent, type EditIntentCheckedEvent, type EventLedgerEvent, type EventLedgerEventInput, type EventLedgerEventType, type EventLedgerTruncatedEvent, type FabricConfigSchemaShape, type FabricEvent, type ForensicAssertion, type ForensicAssertionConfidence, type ForensicAssertionCoverage, type ForensicAssertionType, type ForensicCodeSample, type ForensicEntryPoint, type ForensicEvidenceAnchor, type ForensicFramework, type ForensicReadme, type ForensicReport, type ForensicSamplingBudget, type ForensicTopology, HumanLockEntry, type HumanLockFile, type InitContext, type InitContextDomainGroup, type InitContextFramework, type InitContextInterviewTrailEntry, type InitContextInvariant, type InitContextInvariantConfidenceSnapshot, type InitContextSourceEvidence, type InitScanCompletedEvent, KNOWLEDGE_TEST_INDEX_SCHEMA_VERSION, type KnowledgeArchiveAttemptedEvent, type KnowledgeArchivedEvent, type KnowledgeConsumedEvent, type KnowledgeContextPlannedEvent, type KnowledgeDeferredEvent, type KnowledgeDemotedEvent, type KnowledgeDriftDetectedEvent, type KnowledgeLayerChangedEvent, type KnowledgePathDangledEvent, type KnowledgePromoteFailedEvent, type KnowledgePromoteStartedEvent, type KnowledgePromotedEvent, type KnowledgeProposedEvent, type KnowledgeRejectedEvent, type KnowledgeScopeDegradedEvent, type KnowledgeSectionsFetchedEvent, type KnowledgeSelectionEvent, type KnowledgeSlugRenamedEvent, type KnowledgeTestIndex, type KnowledgeTestLink, type KnowledgeTestOrphanAnnotation, KnowledgeType, Layer, type LedgerAppendedEvent, LedgerEntry, type LockApprovedEvent, type LockDriftEvent, type McpConfigMigratedEvent, type McpEventLedgerEvent, type MetaReconciledEvent, type MetaReconciledOnStartupEvent, type MetaUpdatedEvent, type PanelFieldGroup, type PanelFieldMeta, type PendingAutoArchivedEvent, type ReapplyCompletedEvent, type RelevanceMigrationRunEvent, StableId, type ValidateResult, agentsIdentitySourceSchema, agentsLayerSchema, agentsMetaNodeSchema, agentsMetaSchema, agentsTopologyTypeSchema, aiLedgerEntrySchema, allocateKnowledgeId, assistantTurnObservedEventSchema, auditModeSchema, bootstrapMarkerMigratedEventSchema, candidateFileEntrySchema, citePolicyActivatedEventSchema, claudeHookPathMigratedEventSchema, claudeSkillPathMigratedEventSchema, clientPathsSchema, codexSkillPathMigratedEventSchema, defaultAgentsMetaCounters, defaultLayerFilterSchema, deriveAgentsMetaIdentitySource, deriveAgentsMetaLayer, deriveAgentsMetaStableId, deriveAgentsMetaTopologyType, doctorRunEventSchema, driftDetectedEventSchema, editIntentCheckedEventSchema, eventLedgerEventSchema, eventLedgerTruncatedEventSchema, fabricConfigSchema, fabricEventSchema, fabricLanguageSchema, forensicAssertionCoverageSchema, forensicAssertionSchema, forensicCodeSampleSchema, forensicEntryPointSchema, forensicEvidenceAnchorSchema, forensicFrameworkSchema, forensicReadmeSchema, forensicReportSchema, forensicSamplingBudgetSchema, forensicTopologySchema, getPanelFieldByKey, getPanelFields, humanLedgerEntrySchema, humanLockEntrySchema, humanLockFileSchema, initContextDomainGroupSchema, initContextFrameworkSchema, initContextInterviewTrailEntrySchema, initContextInvariantConfidenceSnapshotSchema, initContextInvariantSchema, initContextSchema, initContextSourceEvidenceSchema, initScanCompletedEventSchema, isKnowledgeStableId, knowledgeArchiveAttemptedEventSchema, knowledgeArchivedEventSchema, knowledgeConsumedEventSchema, knowledgeContextPlannedEventSchema, knowledgeDeferredEventSchema, knowledgeDemotedEventSchema, knowledgeDriftDetectedEventSchema, knowledgeLayerChangedEventSchema, knowledgePathDangledEventSchema, knowledgePromoteFailedEventSchema, knowledgePromoteStartedEventSchema, knowledgePromotedEventSchema, knowledgeProposedEventSchema, knowledgeRejectedEventSchema, knowledgeScopeDegradedEventSchema, knowledgeSectionsFetchedEventSchema, knowledgeSelectionEventSchema, knowledgeSlugRenamedEventSchema, knowledgeTestIndexSchema, knowledgeTestLinkSchema, knowledgeTestOrphanAnnotationSchema, ledgerAppendedEventSchema, ledgerEntrySchema, lockApprovedEventSchema, lockDriftEventSchema, mcpConfigMigratedEventSchema, mcpEventLedgerEventSchema, mcpPayloadLimitsSchema, metaReconciledEventSchema, metaReconciledOnStartupEventSchema, metaUpdatedEventSchema, pendingAutoArchivedEventSchema, reapplyCompletedEventSchema, relevanceMigrationRunEventSchema, ruleDescriptionIndexItemSchema, ruleDescriptionSchema, withDerivedAgentsMetaNodeDefaults };
7791
+ export { AGENTS_META_IDENTITY_SOURCES, AGENTS_META_LAYERS, AGENTS_META_TOPOLOGY_TYPES, AgentsIdentitySource, AgentsLayer, AgentsMeta, type AgentsMetaCounters, AgentsMetaCountersSchema, AgentsMetaNode, AgentsTopologyType, type AssistantTurnObservedEvent, type BootstrapMarkerMigratedEvent, type CandidateFileEntry, type CandidateFileFamily, type CitePolicyActivatedEvent, type ClaudeHookPathMigratedEvent, type ClaudeSkillPathMigratedEvent, type CodexSkillPathMigratedEvent, type DoctorRunEvent, type DriftDetectedEvent, type EditIntentCheckedEvent, type EventLedgerEvent, type EventLedgerEventInput, type EventLedgerEventType, type EventLedgerTruncatedEvent, type EventsRotatedEvent, type FabricConfigSchemaShape, type FabricEvent, type ForensicAssertion, type ForensicAssertionConfidence, type ForensicAssertionCoverage, type ForensicAssertionType, type ForensicCodeSample, type ForensicEntryPoint, type ForensicEvidenceAnchor, type ForensicFramework, type ForensicReadme, type ForensicReport, type ForensicSamplingBudget, type ForensicTopology, HumanLockEntry, type HumanLockFile, type InitContext, type InitContextDomainGroup, type InitContextFramework, type InitContextInterviewTrailEntry, type InitContextInvariant, type InitContextInvariantConfidenceSnapshot, type InitContextSourceEvidence, type InitScanCompletedEvent, KNOWLEDGE_TEST_INDEX_SCHEMA_VERSION, type KnowledgeArchiveAttemptedEvent, type KnowledgeArchivedEvent, type KnowledgeConsumedEvent, type KnowledgeContextPlannedEvent, type KnowledgeDeferredEvent, type KnowledgeDemotedEvent, type KnowledgeDriftDetectedEvent, type KnowledgeLayerChangedEvent, type KnowledgeMetaAutoHealedEvent, type KnowledgePathDangledEvent, type KnowledgePromoteFailedEvent, type KnowledgePromoteStartedEvent, type KnowledgePromotedEvent, type KnowledgeProposedEvent, type KnowledgeRejectedEvent, type KnowledgeScopeDegradedEvent, type KnowledgeSectionsFetchedEvent, type KnowledgeSelectionEvent, type KnowledgeSlugRenamedEvent, type KnowledgeTestIndex, type KnowledgeTestLink, type KnowledgeTestOrphanAnnotation, KnowledgeType, Layer, type LedgerAppendedEvent, LedgerEntry, type LockApprovedEvent, type LockDriftEvent, type McpConfigMigratedEvent, type McpEventLedgerEvent, type MetaReconciledEvent, type MetaReconciledOnStartupEvent, type MetaUpdatedEvent, type PanelFieldGroup, type PanelFieldMeta, type PendingAutoArchivedEvent, type ReapplyCompletedEvent, type RelevanceMigrationRunEvent, StableId, type ValidateResult, agentsIdentitySourceSchema, agentsLayerSchema, agentsMetaNodeSchema, agentsMetaSchema, agentsTopologyTypeSchema, aiLedgerEntrySchema, allocateKnowledgeId, assistantTurnObservedEventSchema, auditModeSchema, bootstrapMarkerMigratedEventSchema, candidateFileEntrySchema, citePolicyActivatedEventSchema, claudeHookPathMigratedEventSchema, claudeSkillPathMigratedEventSchema, clientPathsSchema, codexSkillPathMigratedEventSchema, defaultAgentsMetaCounters, defaultLayerFilterSchema, deriveAgentsMetaIdentitySource, deriveAgentsMetaLayer, deriveAgentsMetaStableId, deriveAgentsMetaTopologyType, doctorRunEventSchema, driftDetectedEventSchema, editIntentCheckedEventSchema, eventLedgerEventSchema, eventLedgerTruncatedEventSchema, eventsRotatedEventSchema, fabricConfigSchema, fabricEventSchema, fabricLanguageSchema, forensicAssertionCoverageSchema, forensicAssertionSchema, forensicCodeSampleSchema, forensicEntryPointSchema, forensicEvidenceAnchorSchema, forensicFrameworkSchema, forensicReadmeSchema, forensicReportSchema, forensicSamplingBudgetSchema, forensicTopologySchema, getPanelFieldByKey, getPanelFields, humanLedgerEntrySchema, humanLockEntrySchema, humanLockFileSchema, initContextDomainGroupSchema, initContextFrameworkSchema, initContextInterviewTrailEntrySchema, initContextInvariantConfidenceSnapshotSchema, initContextInvariantSchema, initContextSchema, initContextSourceEvidenceSchema, initScanCompletedEventSchema, isKnowledgeStableId, knowledgeArchiveAttemptedEventSchema, knowledgeArchivedEventSchema, knowledgeConsumedEventSchema, knowledgeContextPlannedEventSchema, knowledgeDeferredEventSchema, knowledgeDemotedEventSchema, knowledgeDriftDetectedEventSchema, knowledgeLayerChangedEventSchema, knowledgeMetaAutoHealedEventSchema, knowledgePathDangledEventSchema, knowledgePromoteFailedEventSchema, knowledgePromoteStartedEventSchema, knowledgePromotedEventSchema, knowledgeProposedEventSchema, knowledgeRejectedEventSchema, knowledgeScopeDegradedEventSchema, knowledgeSectionsFetchedEventSchema, knowledgeSelectionEventSchema, knowledgeSlugRenamedEventSchema, knowledgeTestIndexSchema, knowledgeTestLinkSchema, knowledgeTestOrphanAnnotationSchema, ledgerAppendedEventSchema, ledgerEntrySchema, lockApprovedEventSchema, lockDriftEventSchema, mcpConfigMigratedEventSchema, mcpEventLedgerEventSchema, mcpPayloadLimitsSchema, metaReconciledEventSchema, metaReconciledOnStartupEventSchema, metaUpdatedEventSchema, pendingAutoArchivedEventSchema, reapplyCompletedEventSchema, relevanceMigrationRunEventSchema, ruleDescriptionIndexItemSchema, ruleDescriptionSchema, withDerivedAgentsMetaNodeDefaults };
package/dist/index.js CHANGED
@@ -1,4 +1,12 @@
1
- import "./chunk-LXNCAKJZ.js";
1
+ import {
2
+ BOOTSTRAP_CANONICAL,
3
+ BOOTSTRAP_MARKER_BEGIN,
4
+ BOOTSTRAP_MARKER_END,
5
+ BOOTSTRAP_REGEX,
6
+ LEGACY_KB_MARKER_BEGIN,
7
+ LEGACY_KB_MARKER_END,
8
+ LEGACY_KB_REGEX
9
+ } from "./chunk-BEABJYVL.js";
2
10
  import {
3
11
  PROTECTED_TOKENS,
4
12
  createTranslator,
@@ -46,16 +54,8 @@ import {
46
54
  planContextInputSchema,
47
55
  planContextOutputSchema,
48
56
  structuredWarningSchema
49
- } from "./chunk-NNDFOOBO.js";
50
- import {
51
- BOOTSTRAP_CANONICAL,
52
- BOOTSTRAP_MARKER_BEGIN,
53
- BOOTSTRAP_MARKER_END,
54
- BOOTSTRAP_REGEX,
55
- LEGACY_KB_MARKER_BEGIN,
56
- LEGACY_KB_MARKER_END,
57
- LEGACY_KB_REGEX
58
- } from "./chunk-QZNUUIL3.js";
57
+ } from "./chunk-WK4WINAZ.js";
58
+ import "./chunk-LXNCAKJZ.js";
59
59
 
60
60
  // src/schemas/agents-meta.ts
61
61
  import { z } from "zod";
@@ -450,7 +450,20 @@ var fabricConfigSchema = z5.object({
450
450
  // for explicit resolve-or-drop decision. Default 14; tighter than the
451
451
  // 7d Signal-B trigger because review specifically targets the long
452
452
  // tail. Large repos with slower cadence can raise to 30.
453
- review_stale_pending_days: z5.number().int().positive().optional().default(14)
453
+ review_stale_pending_days: z5.number().int().positive().optional().default(14),
454
+ // v2.0.0-rc.22 Scope A T3: sliding-window retention (in days) for the
455
+ // event ledger rotation primitive (`rotateEventLedgerIfNeeded`). Lines
456
+ // whose `ts` is older than `now - fabric_event_retention_days * 86_400_000`
457
+ // are partitioned into `.fabric/events.archive/events-rotated-YYYY-MM-DD.jsonl`.
458
+ // Locked to 7/30/90 — three operator-friendly preset windows. Default 30
459
+ // is applied at the consumer site (rotateEventLedgerIfNeeded), so this
460
+ // field stays `.optional()` without a `.default()` to keep the schema
461
+ // surface honest: absence means "use the library default", not "schema
462
+ // default of 30 was injected." 7 = ~tight, 30 = balanced, 90 = forensic.
463
+ // Mirrors cite-policy precedent of locking enum-style numeric tunables
464
+ // to a small literal set (vs free `.positive()`) to prevent fat-finger
465
+ // misconfig.
466
+ fabric_event_retention_days: z5.union([z5.literal(7), z5.literal(30), z5.literal(90)]).optional()
454
467
  });
455
468
 
456
469
  // src/schemas/fabric-config-introspect.ts
@@ -876,7 +889,12 @@ var metaReconciledEventSchema = z10.object({
876
889
  reconciled_files: z10.array(z10.string()),
877
890
  duration_ms: z10.number().int().nonnegative(),
878
891
  trigger: z10.enum(["doctor", "manual"]),
879
- source: z10.literal("reconcileKnowledge")
892
+ source: z10.literal("reconcileKnowledge"),
893
+ // v2.0.0-rc.22 TASK-014 (Scope E): set when reconcileKnowledge forced a
894
+ // writeKnowledgeMeta on revision drift alone (no per-file content drift).
895
+ // Distinguishes top-level schema/revision repair from the standard per-file
896
+ // drift path. Optional so existing emitters stay unchanged.
897
+ force_write_reason: z10.enum(["revision_drift"]).optional()
880
898
  });
881
899
  var claudeSkillPathMigratedEventSchema = z10.object({
882
900
  ...eventLedgerEnvelopeSchema,
@@ -1046,6 +1064,22 @@ var citePolicyActivatedEventSchema = z10.object({
1046
1064
  policy_version: z10.string(),
1047
1065
  timestamp: z10.string().datetime()
1048
1066
  });
1067
+ var eventsRotatedEventSchema = z10.object({
1068
+ ...eventLedgerEnvelopeSchema,
1069
+ event_type: z10.literal("events_rotated"),
1070
+ cutoff_ts: z10.string().datetime(),
1071
+ archived_count: z10.number().int().nonnegative(),
1072
+ kept_count: z10.number().int().nonnegative(),
1073
+ archive_path: z10.string()
1074
+ });
1075
+ var knowledgeMetaAutoHealedEventSchema = z10.object({
1076
+ ...eventLedgerEnvelopeSchema,
1077
+ event_type: z10.literal("knowledge_meta_auto_healed"),
1078
+ previous_revision_hash: z10.string(),
1079
+ revision_hash: z10.string(),
1080
+ trigger: z10.literal("read"),
1081
+ caller: z10.enum(["planContext", "getKnowledgeSections", "getKnowledge", "extractKnowledge"]).optional()
1082
+ });
1049
1083
  var eventLedgerEventSchema = z10.discriminatedUnion("event_type", [
1050
1084
  knowledgeContextPlannedEventSchema,
1051
1085
  knowledgeSelectionEventSchema,
@@ -1097,7 +1131,14 @@ var eventLedgerEventSchema = z10.discriminatedUnion("event_type", [
1097
1131
  assistantTurnObservedEventSchema,
1098
1132
  // v2.0.0-rc.20 TASK-02: cite_policy_activated — session/policy-bump
1099
1133
  // marker recording when a given policy_version became active.
1100
- citePolicyActivatedEventSchema
1134
+ citePolicyActivatedEventSchema,
1135
+ // v2.0.0-rc.22 Scope D T-D1: knowledge_meta_auto_healed — emitted by
1136
+ // loadActiveMeta when read-path drift triggers an in-place meta rebuild.
1137
+ knowledgeMetaAutoHealedEventSchema,
1138
+ // v2.0.0-rc.22 Scope A T3: events_rotated — emitted as the first line of
1139
+ // the post-rotation events.jsonl when sliding-window-by-age rotation moves
1140
+ // stale entries to events.archive/events-rotated-YYYY-MM-DD.jsonl.
1141
+ eventsRotatedEventSchema
1101
1142
  ]);
1102
1143
  export {
1103
1144
  AGENTS_META_IDENTITY_SOURCES,
@@ -1160,6 +1201,7 @@ export {
1160
1201
  enMessages,
1161
1202
  eventLedgerEventSchema,
1162
1203
  eventLedgerTruncatedEventSchema,
1204
+ eventsRotatedEventSchema,
1163
1205
  fabExtractKnowledgeAnnotations,
1164
1206
  fabReviewAnnotations,
1165
1207
  fabricConfigSchema,
@@ -1204,6 +1246,7 @@ export {
1204
1246
  knowledgeDemotedEventSchema,
1205
1247
  knowledgeDriftDetectedEventSchema,
1206
1248
  knowledgeLayerChangedEventSchema,
1249
+ knowledgeMetaAutoHealedEventSchema,
1207
1250
  knowledgePathDangledEventSchema,
1208
1251
  knowledgePromoteFailedEventSchema,
1209
1252
  knowledgePromoteStartedEventSchema,
@@ -8,6 +8,22 @@ declare function atomicWriteText(path: string, content: string, opts?: AtomicWri
8
8
  declare function atomicWriteJson(path: string, value: unknown, opts?: AtomicWriteJsonOptions): Promise<void>;
9
9
  interface LedgerWriteQueue {
10
10
  append(path: string, line: string): Promise<void>;
11
+ /**
12
+ * Run `fn` with exclusive access to `path` against all other queue operations
13
+ * (other `runExclusive` calls and `append` calls) on the same path within
14
+ * this LedgerWriteQueue instance.
15
+ *
16
+ * Scope: per-path, in-process (same Node process, same queue instance).
17
+ * Does NOT provide cross-process locking — separate concern.
18
+ *
19
+ * Error semantics: a rejection from `fn` is propagated to the returned
20
+ * Promise but does NOT poison the chain — subsequent `runExclusive` /
21
+ * `append` calls on the same path will still acquire and run.
22
+ *
23
+ * Ordering: submission-order FIFO. Calls on different paths run independently
24
+ * (in parallel where possible).
25
+ */
26
+ runExclusive<T>(path: string, fn: () => Promise<T>): Promise<T>;
11
27
  }
12
28
  declare function createLedgerWriteQueue(): LedgerWriteQueue;
13
29
 
@@ -38,18 +38,27 @@ function createLedgerWriteQueue() {
38
38
  const normalized = line.endsWith("\n") ? line : line + "\n";
39
39
  await appendFile(path, normalized, "utf8");
40
40
  }
41
+ function enqueue(path, work) {
42
+ const prev = chains.get(path) ?? Promise.resolve();
43
+ const result = prev.catch(() => void 0).then(() => work());
44
+ const chainSlot = result.then(
45
+ () => void 0,
46
+ () => void 0
47
+ );
48
+ chains.set(path, chainSlot);
49
+ chainSlot.finally(() => {
50
+ if (chains.get(path) === chainSlot) {
51
+ chains.delete(path);
52
+ }
53
+ });
54
+ return result;
55
+ }
41
56
  return {
42
57
  append(path, line) {
43
- const prev = chains.get(path) ?? Promise.resolve();
44
- const next = prev.catch(() => void 0).then(() => doAppend(path, line));
45
- chains.set(path, next);
46
- const guarded = next.catch(() => void 0);
47
- guarded.finally(() => {
48
- if (chains.get(path) === next) {
49
- chains.delete(path);
50
- }
51
- });
52
- return next;
58
+ return enqueue(path, () => doAppend(path, line));
59
+ },
60
+ runExclusive(path, fn) {
61
+ return enqueue(path, fn);
53
62
  }
54
63
  };
55
64
  }
@@ -467,6 +467,8 @@ declare const planContextOutputSchema: z.ZodObject<{
467
467
  action_hint: string;
468
468
  line?: number | undefined;
469
469
  }>, "many">>;
470
+ auto_healed: z.ZodOptional<z.ZodBoolean>;
471
+ previous_revision_hash: z.ZodOptional<z.ZodString>;
470
472
  }, "strip", z.ZodTypeAny, {
471
473
  stale: boolean;
472
474
  entries: {
@@ -551,6 +553,8 @@ declare const planContextOutputSchema: z.ZodObject<{
551
553
  action_hint: string;
552
554
  line?: number | undefined;
553
555
  }[] | undefined;
556
+ auto_healed?: boolean | undefined;
557
+ previous_revision_hash?: string | undefined;
554
558
  }, {
555
559
  stale: boolean;
556
560
  entries: {
@@ -635,6 +639,8 @@ declare const planContextOutputSchema: z.ZodObject<{
635
639
  action_hint: string;
636
640
  line?: number | undefined;
637
641
  }[] | undefined;
642
+ auto_healed?: boolean | undefined;
643
+ previous_revision_hash?: string | undefined;
638
644
  }>;
639
645
  declare const planContextAnnotations: {
640
646
  readonly readOnlyHint: true;
@@ -36,7 +36,7 @@ import {
36
36
  planContextInputSchema,
37
37
  planContextOutputSchema,
38
38
  structuredWarningSchema
39
- } from "../chunk-NNDFOOBO.js";
39
+ } from "../chunk-WK4WINAZ.js";
40
40
  export {
41
41
  FabExtractKnowledgeInputSchema,
42
42
  FabExtractKnowledgeInputShape,
@@ -51,6 +51,6 @@ declare const LEGACY_KB_REGEX: RegExp;
51
51
  *
52
52
  * Length guarantee: ≥ 400 bytes.
53
53
  */
54
- declare const BOOTSTRAP_CANONICAL = "# Fabric Bootstrap\n\n\u672C\u9879\u76EE\u4F7F\u7528 Fabric \u7BA1\u7406\u8DE8\u5BA2\u6237\u7AEF AI \u77E5\u8BC6\u4E0E\u884C\u4E3A\u89C4\u5219\u3002\u672C\u6587\u4EF6\u7531 `fab install` \u540C\u6B65\u5230\u4E09\u7AEF managed block,**\u4E0D\u8981\u624B\u52A8\u7F16\u8F91\u4E09\u7AEF\u7684 block**,\u53EA\u6539\u8FD9\u91CC + \u91CD\u8DD1 `fab install`\u3002\n\n## \u884C\u4E3A\u89C4\u5219\n- **\u4FEE\u6539\u4EFB\u4F55\u6587\u4EF6\u524D**:\u5FC5\u987B\u5148\u8C03 `fab_plan_context(paths=[<\u88AB\u6539\u6587\u4EF6>])`,\u518D\u8C03 `fab_get_knowledge_sections` \u53D6\u76F8\u5173\u89C4\u5219\u6BB5\u843D\u3002\n- **`.fabric/agents.meta.json` \u4E25\u7981\u624B\u52A8\u7F16\u8F91**:baseline \u53D8\u66F4\u53EA\u80FD\u901A\u8FC7 `fabric doctor --fix` \u63A5\u53D7\u3002\n\n## \u77E5\u8BC6\u5E93(KB)\n- **Discovery**:SessionStart hook \u5217 broad-scoped \u6761\u76EE;edit \u6587\u4EF6\u65F6 PreToolUse hook \u53EF\u80FD\u89E6\u53D1 narrow hint\u3002\n- **Usage**:\u7528 `fab_get_knowledge_sections(id=...)` \u6309 id \u53D6\u6761\u76EE\u5168\u6587\u3002\n- **Write flows**:`fabric-archive` / `fabric-review` / `fabric-import` \u4E09\u4E2A Skills\u3002\n- **Language**:\u6E32\u67D3\u6309 `.fabric/fabric-config.json` \u7684 `fabric_language` \u5B57\u6BB5\u3002\n\n## Cite policy\n\n- **\u89E6\u53D1**: \u505A edit / decide / propose plan \u4E4B\u524D,**\u56DE\u590D\u9996\u884C**\u5FC5\u987B\u5199 `KB: <id> (<\u22648\u5B57 \u7528\u6CD5>) [planned|recalled|chained-from <id>|dismissed:<reason>]` \u6216 `KB: none`\u3002\n- **`[recalled]` \u9A8C\u8BC1**: \u5FC5\u987B\u7D27\u8DDF\u4E00\u6B21 `fab_get_knowledge_sections(id=...)`,\u9632\u6B62\u7F16\u9020 id\u3002\n- **\u7528\u6237\u53E3\u5934\u63D0\u89C4\u5219\u6CA1\u7ED9 id**: \u5148\u8C03 `fab_extract_knowledge` \u6216 `search_context` \u53CD\u67E5\u3002\n- **dismissed reason**: \u679A\u4E3E `scope-mismatch | outdated | not-applicable | other:<text>`\u3002\n- **\u7A3D\u6838**: `fab doctor --cite-coverage [--since=7d] [--client=cc|codex|all]` \u8F93\u51FA cite \u8986\u76D6\u7387\u3002\u672C\u89C4\u5219\u4E0D\u963B\u65AD\u4F60\u5DE5\u4F5C,\u53EA\u8BB0\u5F55\u3002\n";
54
+ declare const BOOTSTRAP_CANONICAL = "# Fabric Bootstrap\n\n\u672C\u9879\u76EE\u4F7F\u7528 Fabric \u7BA1\u7406\u8DE8\u5BA2\u6237\u7AEF AI \u77E5\u8BC6\u4E0E\u884C\u4E3A\u89C4\u5219\u3002\u672C\u6587\u4EF6\u7531 `fab install` \u540C\u6B65\u5230\u4E09\u7AEF managed block,**\u4E0D\u8981\u624B\u52A8\u7F16\u8F91\u4E09\u7AEF\u7684 block**,\u53EA\u6539\u8FD9\u91CC + \u91CD\u8DD1 `fab install`\u3002\n\n## \u884C\u4E3A\u89C4\u5219\n- **\u4FEE\u6539\u4EFB\u4F55\u6587\u4EF6\u524D**:\u5FC5\u987B\u5148\u8C03 `fab_plan_context(paths=[<\u88AB\u6539\u6587\u4EF6>])`,\u518D\u8C03 `fab_get_knowledge_sections` \u53D6\u76F8\u5173\u89C4\u5219\u6BB5\u843D\u3002\n- **`.fabric/agents.meta.json` \u4E25\u7981\u624B\u52A8\u7F16\u8F91**;engine \u4F1A\u81EA\u52A8\u540C\u6B65\u6D3E\u751F\u72B6\u6001,\u663E\u5F0F reconcile \u8DD1 `fab doctor --fix`\u3002\n\n## \u77E5\u8BC6\u5E93(KB)\n- **Discovery**:SessionStart hook \u5217 broad-scoped \u6761\u76EE;edit \u6587\u4EF6\u65F6 PreToolUse hook \u53EF\u80FD\u89E6\u53D1 narrow hint\u3002\n- **Usage**:\u7528 `fab_get_knowledge_sections(id=...)` \u6309 id \u53D6\u6761\u76EE\u5168\u6587\u3002\n- **Write flows**:`fabric-archive` / `fabric-review` / `fabric-import` \u4E09\u4E2A Skills\u3002\n- **Language**:\u6E32\u67D3\u6309 `.fabric/fabric-config.json` \u7684 `fabric_language` \u5B57\u6BB5\u3002\n\n## Cite policy\n\n- **\u89E6\u53D1**: \u505A edit / decide / propose plan \u4E4B\u524D,**\u56DE\u590D\u9996\u884C**\u5FC5\u987B\u5199 `KB: <id> (<\u22648\u5B57 \u7528\u6CD5>) [planned|recalled|chained-from <id>|dismissed:<reason>]` \u6216 `KB: none`\u3002\n- **`[recalled]` \u9A8C\u8BC1**: \u5FC5\u987B\u7D27\u8DDF\u4E00\u6B21 `fab_get_knowledge_sections(id=...)`,\u9632\u6B62\u7F16\u9020 id\u3002\n- **\u7528\u6237\u53E3\u5934\u63D0\u89C4\u5219\u6CA1\u7ED9 id**: \u5148\u8C03 `fab_extract_knowledge` \u6216 `search_context` \u53CD\u67E5\u3002\n- **dismissed reason**: \u679A\u4E3E `scope-mismatch | outdated | not-applicable | other:<text>`\u3002\n- **\u7A3D\u6838**: `fab doctor --cite-coverage [--since=7d] [--client=cc|codex|all]` \u8F93\u51FA cite \u8986\u76D6\u7387\u3002\u672C\u89C4\u5219\u4E0D\u963B\u65AD\u4F60\u5DE5\u4F5C,\u53EA\u8BB0\u5F55\u3002\n";
55
55
 
56
56
  export { BOOTSTRAP_CANONICAL, BOOTSTRAP_MARKER_BEGIN, BOOTSTRAP_MARKER_END, BOOTSTRAP_REGEX, LEGACY_KB_MARKER_BEGIN, LEGACY_KB_MARKER_END, LEGACY_KB_REGEX };
@@ -6,7 +6,7 @@ import {
6
6
  LEGACY_KB_MARKER_BEGIN,
7
7
  LEGACY_KB_MARKER_END,
8
8
  LEGACY_KB_REGEX
9
- } from "../chunk-QZNUUIL3.js";
9
+ } from "../chunk-BEABJYVL.js";
10
10
  export {
11
11
  BOOTSTRAP_CANONICAL,
12
12
  BOOTSTRAP_MARKER_BEGIN,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fenglimg/fabric-shared",
3
- "version": "2.0.0-rc.21",
3
+ "version": "2.0.0-rc.22",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",