@caupulican/pi-adaptative 0.80.76 → 0.80.78

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/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## [0.80.78] - 2026-06-28
2
+
3
+ ### Fixed
4
+
5
+ - Threat scanner no longer strips legitimate international text: the invisible-character filter now
6
+ preserves the zero-width non-joiner/joiner and left/right-to-left marks (U+200C–U+200F) that are
7
+ load-bearing in Persian, Arabic, Hebrew, and Hindi shaping and in emoji ZWJ sequences, while still
8
+ removing the genuinely-dangerous zero-width and bidi-reordering controls used for hidden-instruction
9
+ ("Trojan Source") attacks.
10
+
11
+ ## [0.80.77] - 2026-06-28
12
+
13
+ ### Added
14
+
15
+ - Skill curator (`/curate`): reflection-promoted skills are now usage-tracked and can be reviewed instead
16
+ of accumulating forever. `/curate` lists stale/unused promoted skills proposed for (restorable)
17
+ archival and overlapping pairs proposed for consolidation; `/curate archive <name>` and
18
+ `/curate restore <name>` apply them. Propose-only — nothing is archived or merged automatically, and
19
+ hand-authored skills are never touched.
20
+
1
21
  ## [0.80.76] - 2026-06-28
2
22
 
3
23
  ### Added
@@ -21,6 +21,7 @@ import { type CostGuardDecision } from "./cost-guard.ts";
21
21
  import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionContext, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type ReplacedSessionContext, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.ts";
22
22
  import { type ChannelProvider, GatewayRegistry, type JobSchedulerProvider } from "./gateways/channel-provider.ts";
23
23
  import { type DemandSignals, type ReflectionResult } from "./learning/reflection-engine.ts";
24
+ import { type CurationProposals } from "./learning/skill-curator.ts";
24
25
  import type { MemoryProvider } from "./memory/memory-provider.ts";
25
26
  import { type CustomMessage } from "./messages.ts";
26
27
  import type { ModelRegistry } from "./model-registry.ts";
@@ -292,6 +293,8 @@ export declare class AgentSession {
292
293
  private _lastCostGuardDecision?;
293
294
  /** One-shot latch so the cost guard downgrades reasoning once per over-threshold episode, not every call. */
294
295
  private _costGuardDowngraded;
296
+ /** Lazily-built skill curator (#32) over `<agentDir>/skills`. */
297
+ private _skillCuratorInstance?;
295
298
  /** Set on dispose so in-flight background reflection bails instead of writing to a dead session (Bug #21). */
296
299
  private _disposed;
297
300
  /** Aborts in-flight background reflection completions on dispose (Bug #21). */
@@ -349,6 +352,19 @@ export declare class AgentSession {
349
352
  private _applyCostGuard;
350
353
  /** Latest cost-guard decision (for the host footer/UI to surface a warning). Undefined if disabled. */
351
354
  getLastCostGuardDecision(): CostGuardDecision | undefined;
355
+ private get _skillCurator();
356
+ /**
357
+ * Skill curator (#32): PROPOSE (never auto-apply) archival of stale reflection-promoted skills and
358
+ * consolidation of overlapping ones. The host surfaces these (e.g. a `/curate` command) for approval.
359
+ */
360
+ proposeSkillCuration(options?: {
361
+ staleDays?: number;
362
+ overlapThreshold?: number;
363
+ }): CurationProposals;
364
+ /** Archive a promoted skill into `skills/.archive/` (restorable, non-destructive). Returns true if moved. */
365
+ archivePromotedSkill(name: string): boolean;
366
+ /** Restore a previously-archived promoted skill. Returns true if moved back. */
367
+ restorePromotedSkill(name: string): boolean;
352
368
  private _installAgentTurnRefresh;
353
369
  private _createAgentContextSnapshot;
354
370
  private _contextGcStorageDir;