@appilots/cli 0.11.3 → 0.14.0

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/dist/index.d.mts CHANGED
@@ -1,3 +1,4 @@
1
+ import { SourceControlCandidate } from './types/index.js';
1
2
  import * as t from '@babel/types';
2
3
 
3
4
  /**
@@ -18,6 +19,7 @@ interface ScreenDescriptor {
18
19
  filePath: string;
19
20
  title?: string;
20
21
  description?: string;
22
+ controlCandidates?: SourceControlCandidate[];
21
23
  components: ComponentDescriptor[];
22
24
  forms: FormDescriptor[];
23
25
  actions: ActionDescriptor[];
@@ -58,6 +60,8 @@ interface ScreenPermissionDescriptor {
58
60
  requiresConfirmation?: boolean;
59
61
  blockedActions?: string[];
60
62
  isPii?: boolean;
63
+ /** Graded assessment: the relay blocks every write on this screen. */
64
+ assessment?: boolean;
61
65
  }
62
66
  /**
63
67
  * O que a varredura alcançou — para o relatório do CLI, não para o agente.
@@ -367,6 +371,7 @@ declare class ScreenAnalyzer {
367
371
  private routeTargetFiles;
368
372
  /** §D: Count of screens filtered out in strict mode (available after analyze()) */
369
373
  screensFilteredOut: number;
374
+ controlEvidenceFiles: Record<string, SourceControlCandidate[]>;
370
375
  constructor(config: AnalyzerConfig, options?: {
371
376
  strictScreens?: boolean;
372
377
  screenPatterns?: string[];
@@ -813,6 +818,7 @@ interface PlatformAnalyzerOptions {
813
818
  navigationExclude?: string[];
814
819
  }
815
820
  interface PlatformAnalyzerResult {
821
+ controlEvidenceFiles?: Record<string, SourceControlCandidate[]>;
816
822
  screens: ScreenDescriptor[];
817
823
  navigation: NavigationGraph;
818
824
  /** Number of source files matched by glob (before screen filtering). */
@@ -1330,6 +1336,14 @@ interface AppilotsConfig {
1330
1336
  manifestPath?: string;
1331
1337
  /** `appilots eval` settings — see docs: Testing your agent between releases. */
1332
1338
  eval?: EvalConfig;
1339
+ /** Knowledge base / RAG configuration — see docs: Knowledge base. */
1340
+ knowledge?: KnowledgeConfig;
1341
+ }
1342
+ interface KnowledgeConfig {
1343
+ /** Glob patterns for documentation files to index (e.g. "docs/*.md"). */
1344
+ sources?: string[];
1345
+ /** Glob patterns to exclude from indexing. */
1346
+ exclude?: string[];
1333
1347
  }
1334
1348
  interface EvalConfig {
1335
1349
  /** Directory of `*.json` scenario files. Default: `<outputDir>/scenarios`. */
@@ -1519,6 +1533,21 @@ interface StatusResult {
1519
1533
  };
1520
1534
  error?: string;
1521
1535
  }
1536
+ /**
1537
+ * Result from a knowledge sync operation
1538
+ */
1539
+ interface KnowledgeSyncResult {
1540
+ success: boolean;
1541
+ uploaded: number;
1542
+ skipped: number;
1543
+ errors: number;
1544
+ error?: string;
1545
+ details?: Array<{
1546
+ filename: string;
1547
+ status: 'uploaded' | 'skipped' | 'error';
1548
+ error?: string;
1549
+ }>;
1550
+ }
1522
1551
  /**
1523
1552
  * Appilots API client configuration
1524
1553
  */
@@ -1581,6 +1610,18 @@ declare class AppilotsAPIClient {
1581
1610
  * EVAL_MAX_SCENARIOS_PER_RUN (currently 20) as a cost guard.
1582
1611
  */
1583
1612
  evalRun(scenarios: EvalScenarioRequest[]): Promise<EvalRunResult>;
1613
+ /**
1614
+ * Syncs knowledge documents with the Appilots backend.
1615
+ *
1616
+ * @param documents Array of documents to sync (filename, base64 content, mimeType, checksum)
1617
+ * @returns KnowledgeSyncResult with counts of uploaded, skipped, and errored docs
1618
+ */
1619
+ knowledgeSync(documents: Array<{
1620
+ filename: string;
1621
+ content: string;
1622
+ mimeType: string;
1623
+ checksum: string;
1624
+ }>): Promise<KnowledgeSyncResult>;
1584
1625
  /**
1585
1626
  * Checks if the Appilots API server is healthy
1586
1627
  *
@@ -1596,6 +1637,6 @@ declare class AppilotsAPIClient {
1596
1637
  * banner. Kept identical to package.json by the release flow;
1597
1638
  * `version.test.ts` fails if the two ever disagree.
1598
1639
  */
1599
- declare const CLI_VERSION = "0.11.3";
1640
+ declare const CLI_VERSION = "0.14.0";
1600
1641
 
1601
1642
  export { type ActionDescriptor, type AnalyzerConfig, AppilotsAPIClient, type AppilotsConfig, type AppilotsManifest, CLI_VERSION, ComponentAnalyzer, type ComponentDescriptor, DEFAULT_MANIFEST_FILENAME, DEFAULT_WEB_SCREEN_PATTERNS, type EnvOverrides, type FlowDescriptor, type FlowStepDescriptor, FormAnalyzer, type FormDescriptor, type FormFieldDescriptor, GenericPlatformAnalyzer, type LoadManifestResult, type LocatorDescriptor, type MCPDocument, MCPGenerator, type MCPGeneratorConfig, type MCPGeneratorOptions, type MCPOutput, type MetadataLintWarning, NavigationAnalyzer, type NavigationGraph, type NavigationNode, type NavigatorDescriptor, type ParamDescriptor, type PlatformAnalyzer, type PlatformAnalyzerOptions, type PlatformAnalyzerResult, ReactNativePlatformAnalyzer, ReactWebPlatformAnalyzer, type ScreenAgentHints, ScreenAnalyzer, type ScreenDescriptor, type SignalDescriptor, type StatusResult, type SyncResult, type TargetDescriptor, type WaitPolicyDescriptor, WebNavigationAnalyzer, type WebNavigationResult, type WebRoute, WebScreenAnalyzer, formatMetadataWarnings, getConfigPath, getEnvOverrides, lintActionMetadata, loadConfig, loadManifest, mergeManifestNavigation, mergeManifestScreens, resolvePathToScreen, saveConfig, screenNameFromPath, validateConfig };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { SourceControlCandidate } from './types/index.js';
1
2
  import * as t from '@babel/types';
2
3
 
3
4
  /**
@@ -18,6 +19,7 @@ interface ScreenDescriptor {
18
19
  filePath: string;
19
20
  title?: string;
20
21
  description?: string;
22
+ controlCandidates?: SourceControlCandidate[];
21
23
  components: ComponentDescriptor[];
22
24
  forms: FormDescriptor[];
23
25
  actions: ActionDescriptor[];
@@ -58,6 +60,8 @@ interface ScreenPermissionDescriptor {
58
60
  requiresConfirmation?: boolean;
59
61
  blockedActions?: string[];
60
62
  isPii?: boolean;
63
+ /** Graded assessment: the relay blocks every write on this screen. */
64
+ assessment?: boolean;
61
65
  }
62
66
  /**
63
67
  * O que a varredura alcançou — para o relatório do CLI, não para o agente.
@@ -367,6 +371,7 @@ declare class ScreenAnalyzer {
367
371
  private routeTargetFiles;
368
372
  /** §D: Count of screens filtered out in strict mode (available after analyze()) */
369
373
  screensFilteredOut: number;
374
+ controlEvidenceFiles: Record<string, SourceControlCandidate[]>;
370
375
  constructor(config: AnalyzerConfig, options?: {
371
376
  strictScreens?: boolean;
372
377
  screenPatterns?: string[];
@@ -813,6 +818,7 @@ interface PlatformAnalyzerOptions {
813
818
  navigationExclude?: string[];
814
819
  }
815
820
  interface PlatformAnalyzerResult {
821
+ controlEvidenceFiles?: Record<string, SourceControlCandidate[]>;
816
822
  screens: ScreenDescriptor[];
817
823
  navigation: NavigationGraph;
818
824
  /** Number of source files matched by glob (before screen filtering). */
@@ -1330,6 +1336,14 @@ interface AppilotsConfig {
1330
1336
  manifestPath?: string;
1331
1337
  /** `appilots eval` settings — see docs: Testing your agent between releases. */
1332
1338
  eval?: EvalConfig;
1339
+ /** Knowledge base / RAG configuration — see docs: Knowledge base. */
1340
+ knowledge?: KnowledgeConfig;
1341
+ }
1342
+ interface KnowledgeConfig {
1343
+ /** Glob patterns for documentation files to index (e.g. "docs/*.md"). */
1344
+ sources?: string[];
1345
+ /** Glob patterns to exclude from indexing. */
1346
+ exclude?: string[];
1333
1347
  }
1334
1348
  interface EvalConfig {
1335
1349
  /** Directory of `*.json` scenario files. Default: `<outputDir>/scenarios`. */
@@ -1519,6 +1533,21 @@ interface StatusResult {
1519
1533
  };
1520
1534
  error?: string;
1521
1535
  }
1536
+ /**
1537
+ * Result from a knowledge sync operation
1538
+ */
1539
+ interface KnowledgeSyncResult {
1540
+ success: boolean;
1541
+ uploaded: number;
1542
+ skipped: number;
1543
+ errors: number;
1544
+ error?: string;
1545
+ details?: Array<{
1546
+ filename: string;
1547
+ status: 'uploaded' | 'skipped' | 'error';
1548
+ error?: string;
1549
+ }>;
1550
+ }
1522
1551
  /**
1523
1552
  * Appilots API client configuration
1524
1553
  */
@@ -1581,6 +1610,18 @@ declare class AppilotsAPIClient {
1581
1610
  * EVAL_MAX_SCENARIOS_PER_RUN (currently 20) as a cost guard.
1582
1611
  */
1583
1612
  evalRun(scenarios: EvalScenarioRequest[]): Promise<EvalRunResult>;
1613
+ /**
1614
+ * Syncs knowledge documents with the Appilots backend.
1615
+ *
1616
+ * @param documents Array of documents to sync (filename, base64 content, mimeType, checksum)
1617
+ * @returns KnowledgeSyncResult with counts of uploaded, skipped, and errored docs
1618
+ */
1619
+ knowledgeSync(documents: Array<{
1620
+ filename: string;
1621
+ content: string;
1622
+ mimeType: string;
1623
+ checksum: string;
1624
+ }>): Promise<KnowledgeSyncResult>;
1584
1625
  /**
1585
1626
  * Checks if the Appilots API server is healthy
1586
1627
  *
@@ -1596,6 +1637,6 @@ declare class AppilotsAPIClient {
1596
1637
  * banner. Kept identical to package.json by the release flow;
1597
1638
  * `version.test.ts` fails if the two ever disagree.
1598
1639
  */
1599
- declare const CLI_VERSION = "0.11.3";
1640
+ declare const CLI_VERSION = "0.14.0";
1600
1641
 
1601
1642
  export { type ActionDescriptor, type AnalyzerConfig, AppilotsAPIClient, type AppilotsConfig, type AppilotsManifest, CLI_VERSION, ComponentAnalyzer, type ComponentDescriptor, DEFAULT_MANIFEST_FILENAME, DEFAULT_WEB_SCREEN_PATTERNS, type EnvOverrides, type FlowDescriptor, type FlowStepDescriptor, FormAnalyzer, type FormDescriptor, type FormFieldDescriptor, GenericPlatformAnalyzer, type LoadManifestResult, type LocatorDescriptor, type MCPDocument, MCPGenerator, type MCPGeneratorConfig, type MCPGeneratorOptions, type MCPOutput, type MetadataLintWarning, NavigationAnalyzer, type NavigationGraph, type NavigationNode, type NavigatorDescriptor, type ParamDescriptor, type PlatformAnalyzer, type PlatformAnalyzerOptions, type PlatformAnalyzerResult, ReactNativePlatformAnalyzer, ReactWebPlatformAnalyzer, type ScreenAgentHints, ScreenAnalyzer, type ScreenDescriptor, type SignalDescriptor, type StatusResult, type SyncResult, type TargetDescriptor, type WaitPolicyDescriptor, WebNavigationAnalyzer, type WebNavigationResult, type WebRoute, WebScreenAnalyzer, formatMetadataWarnings, getConfigPath, getEnvOverrides, lintActionMetadata, loadConfig, loadManifest, mergeManifestNavigation, mergeManifestScreens, resolvePathToScreen, saveConfig, screenNameFromPath, validateConfig };