@nextclaw/kernel 0.10.3 → 0.11.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.ts CHANGED
@@ -1212,10 +1212,11 @@ type AppPackageConflict = {
1212
1212
  componentKind: AppPackageComponentKind;
1213
1213
  conflictingSource: string;
1214
1214
  };
1215
+ type AppPackageUninstallRollback = () => Promise<void>;
1215
1216
  type AppPackageRuntimeHooks = {
1216
1217
  assertCanActivate: (sources: AppPackageComponentSource[]) => Promise<void>;
1217
1218
  beforeDeactivate: (sources: AppPackageComponentSource[]) => Promise<void>;
1218
- beforeUninstall: (sources: AppPackageComponentSource[]) => Promise<void>;
1219
+ beforeUninstall: (sources: AppPackageComponentSource[]) => Promise<AppPackageUninstallRollback | void>;
1219
1220
  };
1220
1221
  type AppPackageErrorCode = "APP_PACKAGE_CONFLICT" | "APP_PACKAGE_INCOMPATIBLE" | "APP_PACKAGE_NOT_FOUND" | "APP_PACKAGE_OPERATION_FAILED";
1221
1222
  declare class AppPackageError extends Error {
@@ -1362,6 +1363,556 @@ declare class AppDataManager {
1362
1363
  private isMissingFileError;
1363
1364
  }
1364
1365
  //#endregion
1366
+ //#region src/features/capability-grants/types/capability-grant.types.d.ts
1367
+ type CapabilityGrantSubject = {
1368
+ type: string;
1369
+ id: string;
1370
+ };
1371
+ type CapabilityGrantResource = {
1372
+ type: string;
1373
+ target: unknown;
1374
+ };
1375
+ type CapabilityGrantRequest = {
1376
+ subject: CapabilityGrantSubject;
1377
+ resource: CapabilityGrantResource;
1378
+ access: string[];
1379
+ declarationFingerprint: string;
1380
+ };
1381
+ type CapabilityGrant = CapabilityGrantRequest & {
1382
+ grantedAt: string;
1383
+ lastUsedAt?: string;
1384
+ };
1385
+ type CapabilityGrantFilter = {
1386
+ subject?: Partial<CapabilityGrantSubject>;
1387
+ resourceType?: string;
1388
+ target?: unknown;
1389
+ access?: string[];
1390
+ };
1391
+ type CapabilityGrantDecision = {
1392
+ granted: true;
1393
+ grant: CapabilityGrant;
1394
+ } | {
1395
+ granted: false;
1396
+ reason: "authorization_required";
1397
+ };
1398
+ //#endregion
1399
+ //#region src/features/capability-grants/managers/capability-grant.manager.d.ts
1400
+ type CapabilityGrantListener = (grants: CapabilityGrant[]) => void | Promise<void>;
1401
+ type CapabilityGrantRevocationListener = CapabilityGrantListener;
1402
+ declare class CapabilityGrantManager {
1403
+ private readonly store;
1404
+ private readonly grantListeners;
1405
+ private readonly revocationListeners;
1406
+ constructor(storePath: string);
1407
+ check: (request: CapabilityGrantRequest) => Promise<CapabilityGrantDecision>;
1408
+ require: (request: CapabilityGrantRequest) => Promise<CapabilityGrant>;
1409
+ grant: (request: CapabilityGrantRequest, grantedAt?: string) => Promise<CapabilityGrant>;
1410
+ list: (filter?: CapabilityGrantFilter) => Promise<CapabilityGrant[]>;
1411
+ revoke: (filter: CapabilityGrantFilter) => Promise<CapabilityGrant[]>;
1412
+ revokeMatching: (matches: (grant: CapabilityGrant) => boolean) => Promise<CapabilityGrant[]>;
1413
+ import: (grants: CapabilityGrant[]) => Promise<void>;
1414
+ replace: (grants: CapabilityGrant[]) => Promise<void>;
1415
+ onGranted: (listener: CapabilityGrantListener) => (() => void);
1416
+ onRevoked: (listener: CapabilityGrantRevocationListener) => (() => void);
1417
+ }
1418
+ //#endregion
1419
+ //#region src/features/capability-grants/services/capability-grant-legacy-migration.service.d.ts
1420
+ declare class CapabilityGrantLegacyMigrationService {
1421
+ private readonly params;
1422
+ private readonly sources;
1423
+ constructor(params: {
1424
+ capabilityGrantManager: CapabilityGrantManager;
1425
+ markerPath: string;
1426
+ validateGrant: (grant: CapabilityGrant) => Promise<boolean>;
1427
+ workspacePath: string;
1428
+ });
1429
+ migrate: () => Promise<void>;
1430
+ private readSources;
1431
+ private assertImported;
1432
+ private restore;
1433
+ }
1434
+ //#endregion
1435
+ //#region src/features/capability-grants/stores/capability-grant.store.d.ts
1436
+ declare class CapabilityGrantStore {
1437
+ private readonly storePath;
1438
+ private writeQueue;
1439
+ constructor(storePath: string);
1440
+ read: () => Promise<CapabilityGrant[]>;
1441
+ replace: (grants: CapabilityGrant[]) => Promise<void>;
1442
+ mutateGrants: (update: (grants: CapabilityGrant[]) => CapabilityGrant[]) => Promise<CapabilityGrant[]>;
1443
+ private mutate;
1444
+ private load;
1445
+ private save;
1446
+ }
1447
+ //#endregion
1448
+ //#region src/features/capability-grants/utils/capability-grant.utils.d.ts
1449
+ declare function normalizeCapabilityGrantRequest(request: CapabilityGrantRequest): CapabilityGrantRequest;
1450
+ declare function createCapabilityDeclarationFingerprint(value: unknown): string;
1451
+ declare function getCapabilityGrantKey(request: CapabilityGrantRequest): string;
1452
+ declare function capabilityGrantCovers(grant: CapabilityGrant, request: CapabilityGrantRequest): boolean;
1453
+ declare function matchesCapabilityGrantFilter(grant: CapabilityGrant, filter: CapabilityGrantFilter): boolean;
1454
+ //#endregion
1455
+ //#region src/types/service-app.types.d.ts
1456
+ type ServiceAppProtocol = "mcp";
1457
+ type ServiceActionRisk = "read" | "write" | "external" | "dangerous";
1458
+ type ServiceAppRuntimeStatus = "idle" | "starting" | "running" | "failed" | "stopped";
1459
+ type ServiceAppManifestAction = {
1460
+ risk?: ServiceActionRisk;
1461
+ title?: string;
1462
+ description?: string;
1463
+ inputSchema?: Record<string, unknown>;
1464
+ };
1465
+ type ServiceAppManifest = {
1466
+ id: string;
1467
+ title: string;
1468
+ description?: string;
1469
+ enabled: boolean;
1470
+ protocol: ServiceAppProtocol;
1471
+ command: string;
1472
+ args: string[];
1473
+ actions: Record<string, ServiceAppManifestAction>;
1474
+ };
1475
+ type ServiceAppRecord = {
1476
+ id: string;
1477
+ title: string;
1478
+ description?: string;
1479
+ dirPath: string;
1480
+ manifestPath: string;
1481
+ command?: string;
1482
+ args?: string[];
1483
+ cwd: string;
1484
+ enabled: boolean;
1485
+ protocol: ServiceAppProtocol;
1486
+ status: ServiceAppRuntimeStatus;
1487
+ lastError?: string;
1488
+ lastStartedAt?: string;
1489
+ lastReadyAt?: string;
1490
+ lastFailedAt?: string;
1491
+ sourceKind?: "workspace" | "package";
1492
+ packageId?: string;
1493
+ packageVersion?: string;
1494
+ packageDirectory?: string;
1495
+ dataDirectory?: string;
1496
+ instanceId?: string;
1497
+ storage?: AppStorageContext;
1498
+ isolation?: AppRuntimeIsolation;
1499
+ };
1500
+ type ServiceActionGrantState = "granted" | "not-granted" | "not-declared";
1501
+ type ServiceActionRuntimeState = "matched" | "missing" | "undeclared";
1502
+ type ServiceAction = {
1503
+ id: string;
1504
+ appId: string;
1505
+ name: string;
1506
+ title?: string;
1507
+ description?: string;
1508
+ inputSchema?: Record<string, unknown>;
1509
+ risk: ServiceActionRisk;
1510
+ runtimeState?: ServiceActionRuntimeState;
1511
+ grantState?: ServiceActionGrantState;
1512
+ };
1513
+ type ServiceActionCaller = {
1514
+ surface: "panel-app";
1515
+ appId: string;
1516
+ };
1517
+ type ServiceActionGrant = {
1518
+ caller: ServiceActionCaller;
1519
+ actionId: string;
1520
+ risk: ServiceActionRisk;
1521
+ grantedAt: string;
1522
+ };
1523
+ type ServiceActionInvokeRequest = {
1524
+ caller: ServiceActionCaller;
1525
+ declaredActions: string[];
1526
+ input?: Record<string, unknown>;
1527
+ };
1528
+ type ServiceActionInvokeResult = {
1529
+ actionId: string;
1530
+ result: unknown;
1531
+ };
1532
+ type ServiceActionGrantRequest = {
1533
+ caller: ServiceActionCaller;
1534
+ declaredActions: string[];
1535
+ };
1536
+ //#endregion
1537
+ //#region src/types/panel-app.types.d.ts
1538
+ type PanelAppEntry = {
1539
+ id: string;
1540
+ appId: string;
1541
+ fileName: string;
1542
+ kind: "single-file" | "folder";
1543
+ title: string;
1544
+ description?: string;
1545
+ icon?: string;
1546
+ contentPath: string;
1547
+ createdAt: string;
1548
+ updatedAt: string;
1549
+ sizeBytes: number;
1550
+ favorite: boolean;
1551
+ mainSidebar: boolean;
1552
+ mainSidebarOrder?: number;
1553
+ clientDeclared: boolean;
1554
+ clientGranted: boolean;
1555
+ lastOpenedAt?: string;
1556
+ openCount: number;
1557
+ sourceKind: "workspace" | "package";
1558
+ packageId?: string;
1559
+ packageVersion?: string;
1560
+ };
1561
+ type PanelAppList = {
1562
+ workspacePath: string;
1563
+ panelsPath: string;
1564
+ entries: PanelAppEntry[];
1565
+ unavailablePackages: Array<{
1566
+ appId: string;
1567
+ message: string;
1568
+ }>;
1569
+ };
1570
+ type PanelAppContent = {
1571
+ id: string;
1572
+ appId: string;
1573
+ fileName: string;
1574
+ html: string;
1575
+ contentType: "text/html; charset=utf-8";
1576
+ capabilities: string[];
1577
+ clientDeclared: boolean;
1578
+ clientGranted: boolean;
1579
+ serviceActions: string[];
1580
+ };
1581
+ type PanelAppDeleteResult = {
1582
+ deleted: true;
1583
+ fileName: string;
1584
+ id: string;
1585
+ };
1586
+ type PanelAppBridgeSession = {
1587
+ id: string;
1588
+ token: string;
1589
+ appId: string;
1590
+ caller: ServiceActionCaller;
1591
+ declaredCapabilities: string[];
1592
+ declaredActions: string[];
1593
+ clientDeclared: boolean;
1594
+ createdAt: string;
1595
+ expiresAt: string;
1596
+ };
1597
+ type PanelAppErrorCode = "AGENT_OBJECT_REQUEST_FAILED" | "AGENT_OBJECT_RESULT_NOT_SUBMITTED" | "AGENT_OBJECT_RESULT_SCHEMA_INVALID" | "AGENT_OBJECT_RESULT_TIMEOUT" | "AUTHORIZATION_REQUIRED" | "PANEL_APP_AGENT_REQUEST_INVALID" | "PANEL_APP_ASSET_TOKEN_EXPIRED" | "PANEL_APP_ASSET_TOKEN_INVALID" | "PANEL_APP_BRIDGE_SESSION_NOT_FOUND" | "PANEL_APP_CAPABILITY_NOT_DECLARED" | "PANEL_APP_CLIENT_NOT_DECLARED" | "PANEL_APP_INVALID_ASSET_PATH" | "PANEL_APP_INVALID_ID" | "PANEL_APP_INVALID_SOURCE_PATH" | "PANEL_APP_MANIFEST_INVALID" | "PANEL_APP_MANAGED_SOURCE" | "PANEL_APP_NOT_FOUND" | "PANEL_APP_READ_FAILED";
1598
+ declare class PanelAppError extends Error {
1599
+ readonly code: PanelAppErrorCode;
1600
+ constructor(code: PanelAppErrorCode, message: string);
1601
+ }
1602
+ declare function isPanelAppError(error: unknown): error is PanelAppError;
1603
+ declare const PANEL_APP_AGENT_CAPABILITIES: readonly ["agent:send", "agent:generateObject"];
1604
+ type PanelAppAgentCapability = typeof PANEL_APP_AGENT_CAPABILITIES[number];
1605
+ declare function isPanelAppAgentCapability(value: unknown): value is PanelAppAgentCapability;
1606
+ type PanelAppClientGrant = {
1607
+ appId: string;
1608
+ grantedAt: string;
1609
+ };
1610
+ type PanelAppCapabilityGrantCaller = {
1611
+ surface: "panel-app";
1612
+ appId: string;
1613
+ };
1614
+ type PanelAppCapabilityGrant = {
1615
+ caller: PanelAppCapabilityGrantCaller;
1616
+ capability: PanelAppAgentCapability;
1617
+ grantedAt: string;
1618
+ };
1619
+ type PanelAppAgentSendPayload = {
1620
+ sessionId?: string;
1621
+ peerId?: string;
1622
+ content: NcpMessagePart[];
1623
+ message?: never;
1624
+ metadata?: Record<string, unknown>;
1625
+ } | {
1626
+ sessionId?: string;
1627
+ peerId?: string;
1628
+ message: NcpMessage$1 | (Omit<NcpMessage$1, "sessionId"> & {
1629
+ sessionId?: string;
1630
+ });
1631
+ content?: never;
1632
+ metadata?: Record<string, unknown>;
1633
+ };
1634
+ type PanelAppAgentSendRequest = {
1635
+ payload: PanelAppAgentSendPayload;
1636
+ };
1637
+ type PanelAppAgentSendResult = NcpRunHandle;
1638
+ type PanelAppAgentRunClient = {
1639
+ send: (input: AgentRunSendIngressPayload) => Promise<NcpRunHandle>;
1640
+ sendAndStreamEvents: (input: AgentRunSendIngressPayload) => AsyncGenerator<NcpEndpointEvent$1>;
1641
+ };
1642
+ type PanelAppAgentGenerateObjectInput = {
1643
+ peerId: string;
1644
+ prompt: string;
1645
+ context?: unknown;
1646
+ schema: Record<string, unknown>;
1647
+ title?: string;
1648
+ timeoutMs?: number;
1649
+ };
1650
+ type PanelAppAgentGenerateObjectRequest = {
1651
+ input: PanelAppAgentGenerateObjectInput;
1652
+ };
1653
+ type PanelAppAgentGenerateObjectResult = {
1654
+ result: unknown;
1655
+ };
1656
+ //#endregion
1657
+ //#region src/features/capability-grants/utils/capability-grant-resource.utils.d.ts
1658
+ declare function createPanelAppClientGrantRequest(appId: string): CapabilityGrantRequest;
1659
+ declare function createPanelAppAgentGrantRequest(caller: ServiceActionCaller, capability: PanelAppAgentCapability): CapabilityGrantRequest;
1660
+ declare function createServiceActionGrantRequest(caller: ServiceActionCaller, action: ServiceAction): CapabilityGrantRequest;
1661
+ declare function readServiceActionTargetId(target: unknown): string | null;
1662
+ //#endregion
1663
+ //#region src/features/desktop-host/types/desktop-host.types.d.ts
1664
+ declare const DESKTOP_HOST_PROTOCOL_VERSION: 1;
1665
+ declare const DESKTOP_HOST_ACCESS: readonly ["ui.read", "ui.observe", "ui.write", "screen.capture-window", "input.keyboard", "input.pointer"];
1666
+ type DesktopHostAccess = typeof DESKTOP_HOST_ACCESS[number];
1667
+ type DesktopApplicationTarget = {
1668
+ applicationId: string;
1669
+ };
1670
+ type ResolvedDesktopApplicationTarget = {
1671
+ platform: "darwin";
1672
+ applicationId: string;
1673
+ bundleId: string;
1674
+ } | {
1675
+ platform: "win32";
1676
+ applicationId: string;
1677
+ appUserModelId?: string;
1678
+ executableIdentity?: string;
1679
+ } | {
1680
+ platform: "linux";
1681
+ applicationId: string;
1682
+ desktopFileId?: string;
1683
+ executableIdentity?: string;
1684
+ };
1685
+ type DesktopHostCaller = {
1686
+ extensionId?: string;
1687
+ agentId?: string;
1688
+ sessionId?: string;
1689
+ agentRunId?: string;
1690
+ subscriptionId?: string;
1691
+ };
1692
+ type DesktopHostMethod = "host.hello" | "host.status" | "host.application.resolve" | "host.permissions.get" | "host.permissions.request" | "host.permissions.openSettings" | "host.ui.snapshot" | "host.ui.action" | "host.ui.observe" | "host.ui.unobserve" | "host.screen.captureWindow" | "host.input.click" | "host.input.typeText" | "host.input.pressKey";
1693
+ type DesktopHostRequest = {
1694
+ protocolVersion: typeof DESKTOP_HOST_PROTOCOL_VERSION;
1695
+ requestId: string;
1696
+ token: string;
1697
+ method: DesktopHostMethod;
1698
+ caller: DesktopHostCaller;
1699
+ payload: unknown;
1700
+ };
1701
+ type DesktopHostResponse = {
1702
+ protocolVersion: typeof DESKTOP_HOST_PROTOCOL_VERSION;
1703
+ requestId: string;
1704
+ ok: boolean;
1705
+ result?: unknown;
1706
+ error?: DesktopCapabilityError;
1707
+ };
1708
+ type DesktopHostEvent = {
1709
+ protocolVersion: typeof DESKTOP_HOST_PROTOCOL_VERSION;
1710
+ type: "host.event";
1711
+ watchId: string;
1712
+ event: unknown;
1713
+ };
1714
+ type DesktopHostStatus = {
1715
+ online: boolean;
1716
+ platform?: NodeJS.Platform;
1717
+ protocolVersion?: number;
1718
+ supportedAccess: DesktopHostAccess[];
1719
+ supportedOperations: DesktopHostMethod[];
1720
+ permissions: {
1721
+ accessibility: "granted" | "not_granted" | "not_supported" | "unknown";
1722
+ screenCapture: "granted" | "not_granted" | "not_supported" | "unknown";
1723
+ };
1724
+ };
1725
+ type DesktopCapabilityErrorCode = "desktop_host_unavailable" | "desktop_host_protocol_mismatch" | "unsupported_platform" | "permission_not_granted" | "capability_not_declared" | "authorization_required" | "authorization_denied" | "target_not_running" | "window_not_found" | "element_not_found" | "stale_target" | "operation_not_supported" | "payload_limit_exceeded" | "host_operation_failed";
1726
+ type DesktopCapabilityError = {
1727
+ code: DesktopCapabilityErrorCode;
1728
+ message: string;
1729
+ recovery?: {
1730
+ action: "open_settings" | "start_desktop" | "show_authorization" | "refresh_target" | "update_desktop";
1731
+ };
1732
+ request?: unknown;
1733
+ };
1734
+ type DesktopHostCapabilityDeclaration = {
1735
+ access: DesktopHostAccess[];
1736
+ };
1737
+ type DesktopHostManifest = {
1738
+ id: string;
1739
+ contributes?: {
1740
+ hostCapabilities?: {
1741
+ desktopAutomation?: DesktopHostCapabilityDeclaration;
1742
+ };
1743
+ };
1744
+ };
1745
+ //#endregion
1746
+ //#region src/features/desktop-host/services/desktop-host.service.d.ts
1747
+ type DesktopHostEventListener = (event: DesktopHostEvent) => void;
1748
+ /**
1749
+ * The Kernel-facing boundary for the local desktop host. A runtime host owns
1750
+ * its platform implementation; the Kernel owns grants and caller identity.
1751
+ */
1752
+ type DesktopHost = {
1753
+ status: () => Promise<DesktopHostStatus>;
1754
+ invoke: <T>(method: DesktopHostMethod, payload: Record<string, unknown>, caller: DesktopHostCaller) => Promise<T>;
1755
+ onEvent: (listener: DesktopHostEventListener) => () => void;
1756
+ dispose: () => Promise<void>;
1757
+ };
1758
+ declare function createDesktopHostError(error: DesktopCapabilityError): Error;
1759
+ /** Used by short-lived Kernel entry points which do not own a local host. */
1760
+ declare class UnavailableDesktopHost implements DesktopHost {
1761
+ status: () => Promise<DesktopHostStatus>;
1762
+ invoke: <T>() => Promise<T>;
1763
+ onEvent: () => (() => void);
1764
+ dispose: () => Promise<void>;
1765
+ }
1766
+ //#endregion
1767
+ //#region src/features/desktop-host/managers/desktop-host-capability.manager.d.ts
1768
+ declare class DesktopHostCapabilityManager {
1769
+ private readonly options;
1770
+ private readonly watches;
1771
+ private readonly removeEventListener;
1772
+ private readonly removeGrantListener;
1773
+ private readonly removeRevocationListener;
1774
+ constructor(options: {
1775
+ capabilityGrantManager: CapabilityGrantManager;
1776
+ host: DesktopHost;
1777
+ findManifest: (extensionId: string) => DesktopHostManifest;
1778
+ hasAgent?: (agentId: string) => boolean;
1779
+ onAuthorizationRequired?: (input: {
1780
+ applicationId: string;
1781
+ caller: DesktopHostCaller;
1782
+ request: CapabilityGrantRequest;
1783
+ }) => void;
1784
+ onEvent?: (input: {
1785
+ extensionId: string;
1786
+ generation: string;
1787
+ watchId: string;
1788
+ event: unknown;
1789
+ }) => void;
1790
+ onObservationAuthorizationRevoked?: (input: {
1791
+ extensionId: string;
1792
+ subscriptionId: string;
1793
+ }) => Promise<void>;
1794
+ onObservationAuthorizationGranted?: (input: {
1795
+ extensionId: string;
1796
+ }) => Promise<void>;
1797
+ });
1798
+ status: () => Promise<DesktopHostStatus>;
1799
+ getPermissions: () => Promise<DesktopHostStatus["permissions"]>;
1800
+ requestPermissions: () => Promise<DesktopHostStatus["permissions"]>;
1801
+ openPermissionSettings: () => Promise<{
1802
+ opened: boolean;
1803
+ }>;
1804
+ grantAccess: (request: CapabilityGrantRequest) => Promise<CapabilityGrant>;
1805
+ invoke: <T>(input: {
1806
+ extensionId: string;
1807
+ generation: string;
1808
+ method: DesktopHostMethod;
1809
+ payload: Record<string, unknown>;
1810
+ caller?: Omit<DesktopHostCaller, "extensionId">;
1811
+ }) => Promise<T>;
1812
+ private invokeUnscopedExtensionMethod;
1813
+ invokeAgent: <T>(input: {
1814
+ agentId: string;
1815
+ sessionId: string;
1816
+ agentRunId?: string;
1817
+ source?: "legacy-tool" | "desktop";
1818
+ method: "host.status" | "host.ui.snapshot" | "host.screen.captureWindow" | "host.ui.action" | "host.input.click" | "host.input.typeText" | "host.input.pressKey";
1819
+ payload: Record<string, unknown>;
1820
+ }) => Promise<T>;
1821
+ releaseExtensionWatches: (extensionId: string, generation?: string) => Promise<void>;
1822
+ private validateGrantRequest;
1823
+ private removeWatch;
1824
+ private requireGrant;
1825
+ private requireAgentGrant;
1826
+ private requireKnownAgent;
1827
+ stop: () => Promise<void>;
1828
+ dispose: () => Promise<void>;
1829
+ private releaseAllWatches;
1830
+ }
1831
+ //#endregion
1832
+ //#region src/features/desktop-host/services/desktop-node-repl.service.d.ts
1833
+ /**
1834
+ * Codex-style code entry point: a session-scoped REPL worker receives a small
1835
+ * desktop SDK and no host Node.js capabilities. The SDK still delegates every
1836
+ * operation to the normal state, grant, and audit owners.
1837
+ */
1838
+ declare class DesktopNodeReplService {
1839
+ private readonly sessionState;
1840
+ private readonly workers;
1841
+ constructor(sessionState: DesktopSessionStateService);
1842
+ execute: (input: DesktopSessionCaller & {
1843
+ code: unknown;
1844
+ signal?: AbortSignal;
1845
+ }) => Promise<unknown>;
1846
+ dispose: () => void;
1847
+ private getOrCreateWorker;
1848
+ private handleWorkerMessage;
1849
+ private invokeDesktop;
1850
+ private resolve;
1851
+ private reject;
1852
+ private scheduleIdleStop;
1853
+ private stopWorker;
1854
+ }
1855
+ //#endregion
1856
+ //#region src/features/desktop-host/services/desktop-session-state.service.d.ts
1857
+ type DesktopSessionCaller = {
1858
+ agentId: string;
1859
+ sessionId: string;
1860
+ agentRunId?: string;
1861
+ };
1862
+ type DesktopSnapshotOptions = {
1863
+ target: {
1864
+ applicationId: string;
1865
+ };
1866
+ source?: "accessibility" | "screen" | "both";
1867
+ detail?: "low" | "high";
1868
+ maxDepth?: number;
1869
+ maxNodes?: number;
1870
+ };
1871
+ /** Owns short-lived AX element references for one Agent session. */
1872
+ declare class DesktopSessionStateService {
1873
+ private readonly manager;
1874
+ private readonly statesBySession;
1875
+ constructor(manager: DesktopHostCapabilityManager);
1876
+ snapshot: (caller: DesktopSessionCaller, options: DesktopSnapshotOptions) => Promise<unknown>;
1877
+ setValue: (caller: DesktopSessionCaller, input: {
1878
+ target: {
1879
+ applicationId: string;
1880
+ };
1881
+ stateId: string;
1882
+ elementIndex: number;
1883
+ value: string;
1884
+ }) => Promise<unknown>;
1885
+ click: (caller: DesktopSessionCaller, input: {
1886
+ target: {
1887
+ applicationId: string;
1888
+ };
1889
+ stateId: string;
1890
+ elementIndex?: number;
1891
+ coordinate?: {
1892
+ x: number;
1893
+ y: number;
1894
+ };
1895
+ }) => Promise<unknown>;
1896
+ typeText: (caller: DesktopSessionCaller, input: {
1897
+ target: {
1898
+ applicationId: string;
1899
+ };
1900
+ stateId: string;
1901
+ text: string;
1902
+ }) => Promise<unknown>;
1903
+ pressKey: (caller: DesktopSessionCaller, input: {
1904
+ target: {
1905
+ applicationId: string;
1906
+ };
1907
+ stateId: string;
1908
+ key: string;
1909
+ modifiers?: string[];
1910
+ }) => Promise<unknown>;
1911
+ private perform;
1912
+ private remember;
1913
+ private sessionStates;
1914
+ }
1915
+ //#endregion
1365
1916
  //#region src/features/observation/types/observation.types.d.ts
1366
1917
  type JsonValue = NcpJsonValue;
1367
1918
  type ObservationCapabilityDescriptor = {
@@ -1564,6 +2115,13 @@ declare class ObservationManager {
1564
2115
  }>;
1565
2116
  onExtensionObservationRuntimeExited: (extensionId: string) => void;
1566
2117
  onExtensionObservationRuntimeReady: (extensionId: string) => Promise<void>;
2118
+ onDesktopObservationAuthorizationRevoked: (input: {
2119
+ extensionId: string;
2120
+ subscriptionId: string;
2121
+ }) => Promise<void>;
2122
+ onDesktopObservationAuthorizationGranted: (input: {
2123
+ extensionId: string;
2124
+ }) => Promise<void>;
1567
2125
  buildContextTail: (input: BuildContextTailInput) => Promise<ObservationContextTail | undefined>;
1568
2126
  discoverObservations: (input?: {
1569
2127
  query?: string;
@@ -1640,6 +2198,11 @@ type ExtensionManifest = {
1640
2198
  replay?: "supported" | "unsupported";
1641
2199
  };
1642
2200
  };
2201
+ hostCapabilities?: {
2202
+ desktopAutomation?: {
2203
+ access: Array<"ui.read" | "ui.observe" | "ui.write" | "screen.capture-window" | "input.keyboard" | "input.pointer">;
2204
+ };
2205
+ };
1643
2206
  channels?: Array<{
1644
2207
  id: string;
1645
2208
  name?: string;
@@ -1719,6 +2282,9 @@ type ExtensionManagerOptions = {
1719
2282
  messageBus: Pick<MessageBus, "publishInbound">;
1720
2283
  sessionManager: SessionManager;
1721
2284
  observations: ObservationManager;
2285
+ capabilityGrantManager: CapabilityGrantManager;
2286
+ desktopHost: DesktopHost;
2287
+ hasAgent: (agentId: string) => boolean;
1722
2288
  };
1723
2289
  type ExtensionLoadParams = {
1724
2290
  config?: Config;
@@ -1742,9 +2308,11 @@ declare class ExtensionManager {
1742
2308
  endpoint: string | null;
1743
2309
  }) => Promise<void>;
1744
2310
  stop: () => Promise<void>;
2311
+ dispose: () => Promise<void>;
1745
2312
  getExtensionRegistry: () => ExtensionRegistry;
1746
2313
  getChannelBindings: () => ExtensionChannelBinding[];
1747
2314
  getUiMetadata: () => ExtensionUiMetadata[];
2315
+ getDesktopHost: () => DesktopHostCapabilityManager;
1748
2316
  getRuntimeStatus: () => ExtensionRuntimeStatus[];
1749
2317
  getManifests: () => ExtensionManifest[];
1750
2318
  authenticateEventStreamCredential: (input: {
@@ -1977,210 +2545,6 @@ type PanelAppPreferencesUpdate = {
1977
2545
  mainSidebar?: boolean;
1978
2546
  };
1979
2547
  //#endregion
1980
- //#region src/stores/panel-app-client-grant.store.d.ts
1981
- type PanelAppClientGrant = {
1982
- appId: string;
1983
- grantedAt: string;
1984
- };
1985
- //#endregion
1986
- //#region src/types/service-app.types.d.ts
1987
- type ServiceAppProtocol = "mcp";
1988
- type ServiceActionRisk = "read" | "write" | "external" | "dangerous";
1989
- type ServiceAppRuntimeStatus = "idle" | "starting" | "running" | "failed" | "stopped";
1990
- type ServiceAppManifestAction = {
1991
- risk?: ServiceActionRisk;
1992
- title?: string;
1993
- description?: string;
1994
- inputSchema?: Record<string, unknown>;
1995
- };
1996
- type ServiceAppManifest = {
1997
- id: string;
1998
- title: string;
1999
- description?: string;
2000
- enabled: boolean;
2001
- protocol: ServiceAppProtocol;
2002
- command: string;
2003
- args: string[];
2004
- actions: Record<string, ServiceAppManifestAction>;
2005
- };
2006
- type ServiceAppRecord = {
2007
- id: string;
2008
- title: string;
2009
- description?: string;
2010
- dirPath: string;
2011
- manifestPath: string;
2012
- command?: string;
2013
- args?: string[];
2014
- cwd: string;
2015
- enabled: boolean;
2016
- protocol: ServiceAppProtocol;
2017
- status: ServiceAppRuntimeStatus;
2018
- lastError?: string;
2019
- lastStartedAt?: string;
2020
- lastReadyAt?: string;
2021
- lastFailedAt?: string;
2022
- sourceKind?: "workspace" | "package";
2023
- packageId?: string;
2024
- packageVersion?: string;
2025
- packageDirectory?: string;
2026
- dataDirectory?: string;
2027
- instanceId?: string;
2028
- storage?: AppStorageContext;
2029
- isolation?: AppRuntimeIsolation;
2030
- };
2031
- type ServiceActionGrantState = "granted" | "not-granted" | "not-declared";
2032
- type ServiceActionRuntimeState = "matched" | "missing" | "undeclared";
2033
- type ServiceAction = {
2034
- id: string;
2035
- appId: string;
2036
- name: string;
2037
- title?: string;
2038
- description?: string;
2039
- inputSchema?: Record<string, unknown>;
2040
- risk: ServiceActionRisk;
2041
- runtimeState?: ServiceActionRuntimeState;
2042
- grantState?: ServiceActionGrantState;
2043
- };
2044
- type ServiceActionCaller = {
2045
- surface: "panel-app";
2046
- appId: string;
2047
- };
2048
- type ServiceActionGrant = {
2049
- caller: ServiceActionCaller;
2050
- actionId: string;
2051
- risk: ServiceActionRisk;
2052
- grantedAt: string;
2053
- };
2054
- type ServiceActionInvokeRequest = {
2055
- caller: ServiceActionCaller;
2056
- declaredActions: string[];
2057
- input?: Record<string, unknown>;
2058
- };
2059
- type ServiceActionInvokeResult = {
2060
- actionId: string;
2061
- result: unknown;
2062
- };
2063
- type ServiceActionGrantRequest = {
2064
- caller: ServiceActionCaller;
2065
- declaredActions: string[];
2066
- };
2067
- //#endregion
2068
- //#region src/types/panel-app.types.d.ts
2069
- type PanelAppEntry = {
2070
- id: string;
2071
- appId: string;
2072
- fileName: string;
2073
- kind: "single-file" | "folder";
2074
- title: string;
2075
- description?: string;
2076
- icon?: string;
2077
- contentPath: string;
2078
- createdAt: string;
2079
- updatedAt: string;
2080
- sizeBytes: number;
2081
- favorite: boolean;
2082
- mainSidebar: boolean;
2083
- mainSidebarOrder?: number;
2084
- clientDeclared: boolean;
2085
- clientGranted: boolean;
2086
- lastOpenedAt?: string;
2087
- openCount: number;
2088
- sourceKind: "workspace" | "package";
2089
- packageId?: string;
2090
- packageVersion?: string;
2091
- };
2092
- type PanelAppList = {
2093
- workspacePath: string;
2094
- panelsPath: string;
2095
- entries: PanelAppEntry[];
2096
- unavailablePackages: Array<{
2097
- appId: string;
2098
- message: string;
2099
- }>;
2100
- };
2101
- type PanelAppContent = {
2102
- id: string;
2103
- appId: string;
2104
- fileName: string;
2105
- html: string;
2106
- contentType: "text/html; charset=utf-8";
2107
- capabilities: string[];
2108
- clientDeclared: boolean;
2109
- clientGranted: boolean;
2110
- serviceActions: string[];
2111
- };
2112
- type PanelAppDeleteResult = {
2113
- deleted: true;
2114
- fileName: string;
2115
- id: string;
2116
- };
2117
- type PanelAppBridgeSession = {
2118
- id: string;
2119
- token: string;
2120
- appId: string;
2121
- caller: ServiceActionCaller;
2122
- declaredCapabilities: string[];
2123
- declaredActions: string[];
2124
- clientDeclared: boolean;
2125
- createdAt: string;
2126
- expiresAt: string;
2127
- };
2128
- type PanelAppErrorCode = "AGENT_OBJECT_REQUEST_FAILED" | "AGENT_OBJECT_RESULT_NOT_SUBMITTED" | "AGENT_OBJECT_RESULT_SCHEMA_INVALID" | "AGENT_OBJECT_RESULT_TIMEOUT" | "AUTHORIZATION_REQUIRED" | "PANEL_APP_AGENT_REQUEST_INVALID" | "PANEL_APP_ASSET_TOKEN_EXPIRED" | "PANEL_APP_ASSET_TOKEN_INVALID" | "PANEL_APP_BRIDGE_SESSION_NOT_FOUND" | "PANEL_APP_CAPABILITY_NOT_DECLARED" | "PANEL_APP_CLIENT_NOT_DECLARED" | "PANEL_APP_INVALID_ASSET_PATH" | "PANEL_APP_INVALID_ID" | "PANEL_APP_INVALID_SOURCE_PATH" | "PANEL_APP_MANIFEST_INVALID" | "PANEL_APP_MANAGED_SOURCE" | "PANEL_APP_NOT_FOUND" | "PANEL_APP_READ_FAILED";
2129
- declare class PanelAppError extends Error {
2130
- readonly code: PanelAppErrorCode;
2131
- constructor(code: PanelAppErrorCode, message: string);
2132
- }
2133
- declare function isPanelAppError(error: unknown): error is PanelAppError;
2134
- declare const PANEL_APP_AGENT_CAPABILITIES: readonly ["agent:send", "agent:generateObject"];
2135
- type PanelAppAgentCapability = typeof PANEL_APP_AGENT_CAPABILITIES[number];
2136
- declare function isPanelAppAgentCapability(value: unknown): value is PanelAppAgentCapability;
2137
- type PanelAppCapabilityGrantCaller = {
2138
- surface: "panel-app";
2139
- appId: string;
2140
- };
2141
- type PanelAppCapabilityGrant = {
2142
- caller: PanelAppCapabilityGrantCaller;
2143
- capability: PanelAppAgentCapability;
2144
- grantedAt: string;
2145
- };
2146
- type PanelAppAgentSendPayload = {
2147
- sessionId?: string;
2148
- peerId?: string;
2149
- content: NcpMessagePart[];
2150
- message?: never;
2151
- metadata?: Record<string, unknown>;
2152
- } | {
2153
- sessionId?: string;
2154
- peerId?: string;
2155
- message: NcpMessage$1 | (Omit<NcpMessage$1, "sessionId"> & {
2156
- sessionId?: string;
2157
- });
2158
- content?: never;
2159
- metadata?: Record<string, unknown>;
2160
- };
2161
- type PanelAppAgentSendRequest = {
2162
- payload: PanelAppAgentSendPayload;
2163
- };
2164
- type PanelAppAgentSendResult = NcpRunHandle;
2165
- type PanelAppAgentRunClient = {
2166
- send: (input: AgentRunSendIngressPayload) => Promise<NcpRunHandle>;
2167
- sendAndStreamEvents: (input: AgentRunSendIngressPayload) => AsyncGenerator<NcpEndpointEvent$1>;
2168
- };
2169
- type PanelAppAgentGenerateObjectInput = {
2170
- peerId: string;
2171
- prompt: string;
2172
- context?: unknown;
2173
- schema: Record<string, unknown>;
2174
- title?: string;
2175
- timeoutMs?: number;
2176
- };
2177
- type PanelAppAgentGenerateObjectRequest = {
2178
- input: PanelAppAgentGenerateObjectInput;
2179
- };
2180
- type PanelAppAgentGenerateObjectResult = {
2181
- result: unknown;
2182
- };
2183
- //#endregion
2184
2548
  //#region src/utils/panel-app-source.utils.d.ts
2185
2549
  type PanelAppAssetContentType = "application/javascript; charset=utf-8" | "application/json; charset=utf-8" | "application/octet-stream" | "image/png" | "image/svg+xml; charset=utf-8" | "image/webp" | "text/css; charset=utf-8" | "text/plain; charset=utf-8";
2186
2550
  type PanelAppAsset = {
@@ -2198,6 +2562,7 @@ declare class PanelAppManager {
2198
2562
  private readonly sourceService;
2199
2563
  private readonly packageStateManager;
2200
2564
  private readonly entryPresenter;
2565
+ private readonly removalService;
2201
2566
  constructor(params: {
2202
2567
  agentRunClient?: PanelAppAgentRunClient;
2203
2568
  configManager: ConfigManager;
@@ -2205,6 +2570,7 @@ declare class PanelAppManager {
2205
2570
  ingress?: Ingress$1;
2206
2571
  listPackageComponentSources?: () => Promise<AppPackageComponentSource[]>;
2207
2572
  listPackageComponentDiagnostics?: () => Promise<AppPackageUnavailableDiagnostic[]>;
2573
+ capabilityGrantManager: CapabilityGrantManager;
2208
2574
  });
2209
2575
  listPanelApps: () => Promise<PanelAppList>;
2210
2576
  getPanelAppContent: (id: string, sourcePath?: string) => Promise<PanelAppContent>;
@@ -2222,6 +2588,7 @@ declare class PanelAppManager {
2222
2588
  }) => Promise<PanelAppBridgeSession>;
2223
2589
  grantPanelAppClient: (appId: string) => Promise<PanelAppClientGrant>;
2224
2590
  revokePanelAppClient: (appId: string) => Promise<void>;
2591
+ matchesCapabilityGrant: (grant: CapabilityGrant) => Promise<boolean>;
2225
2592
  resolvePanelAppBridgeSession: (token: string) => PanelAppBridgeSession;
2226
2593
  deletePanelAppBridgeSession: (token: string) => void;
2227
2594
  sendAgentMessage: (bridgeSessionToken: string, payload: PanelAppAgentSendPayload) => Promise<PanelAppAgentSendResult>;
@@ -2234,14 +2601,14 @@ declare class PanelAppManager {
2234
2601
  private getPanelsPath;
2235
2602
  private createAssetBaseHref;
2236
2603
  private createStateStore;
2237
- private createCapabilityGrantStore;
2238
- private createClientGrantStore;
2239
2604
  private resolvePanelAppFileName;
2240
2605
  assertCanActivatePackageComponents: (components: AppPackageComponentSource[]) => Promise<void>;
2241
2606
  deactivatePackageComponents: (components: AppPackageComponentSource[]) => void;
2242
- removePackageComponentState: (components: AppPackageComponentSource[]) => Promise<void>;
2607
+ preparePackageComponentDeactivation: (components: AppPackageComponentSource[]) => (() => Promise<void>);
2608
+ removePackageComponentState: (components: AppPackageComponentSource[]) => Promise<() => Promise<void>>;
2243
2609
  private deleteExpiredBridgeSessions;
2244
2610
  private deleteBridgeSessionsByPanelAppId;
2611
+ private suspendBridgeSessionsByPanelAppId;
2245
2612
  private isPanelAppClientGranted;
2246
2613
  private isMissingFileError;
2247
2614
  }
@@ -2311,6 +2678,7 @@ declare class McpServiceAppRuntimeService {
2311
2678
  actionName: string;
2312
2679
  input: Record<string, unknown>;
2313
2680
  }) => Promise<unknown>;
2681
+ stop: (appId: string) => Promise<void>;
2314
2682
  restart: (appId: string) => Promise<void>;
2315
2683
  dispose: () => Promise<void>;
2316
2684
  private toMcpServerRecord;
@@ -2356,11 +2724,14 @@ declare class ServiceAppManager {
2356
2724
  private readonly removalService;
2357
2725
  private readonly runtimeService;
2358
2726
  private readonly recordService;
2727
+ private readonly actionGrants;
2728
+ private readonly packageRuntime;
2359
2729
  private reconciliationDiagnostics;
2360
2730
  constructor(params: {
2361
2731
  configManager: ConfigManager;
2362
2732
  runtimeService?: ServiceAppRuntime;
2363
2733
  listPackageComponentSources?: () => Promise<AppPackageComponentSource[]>;
2734
+ capabilityGrantManager: CapabilityGrantManager;
2364
2735
  });
2365
2736
  start: () => Promise<void>;
2366
2737
  listServiceApps: () => Promise<ServiceAppList>;
@@ -2376,13 +2747,15 @@ declare class ServiceAppManager {
2376
2747
  grantServiceActions: (actionIds: readonly string[], request: ServiceActionGrantRequest) => Promise<ServiceActionGrant[]>;
2377
2748
  listServiceActionGrants: () => Promise<ServiceActionGrant[]>;
2378
2749
  revokeServiceAction: (caller: ServiceActionCaller, actionId: string) => Promise<void>;
2750
+ matchesCapabilityGrant: (grant: CapabilityGrant) => Promise<boolean>;
2379
2751
  restartServiceApp: (appId: string) => Promise<ServiceAppRecord>;
2380
2752
  listWorkspaceDataOwners: () => Promise<WorkspaceServiceDataOwner[]>;
2381
2753
  deleteServiceApp: (appId: string, purgeData?: boolean) => Promise<ServiceAppDeleteResult>;
2382
2754
  dispose: () => Promise<void>;
2383
2755
  assertCanActivatePackageComponents: (components: AppPackageComponentSource[]) => Promise<void>;
2384
2756
  deactivatePackageComponents: (components: AppPackageComponentSource[]) => Promise<void>;
2385
- removePackageComponentGrants: (components: AppPackageComponentSource[]) => Promise<void>;
2757
+ preparePackageComponentDeactivation: (components: AppPackageComponentSource[]) => Promise<() => Promise<void>>;
2758
+ removePackageComponentGrants: (components: AppPackageComponentSource[]) => Promise<() => Promise<void>>;
2386
2759
  private withGrantState;
2387
2760
  private requireServiceAction;
2388
2761
  private requireServiceAppForAction;
@@ -2394,12 +2767,11 @@ declare class ServiceAppManager {
2394
2767
  private getWorkspacePath;
2395
2768
  private getServiceAppsPath;
2396
2769
  private getServiceAppLockPath;
2397
- private createGrantStore;
2398
2770
  private listPackageComponentSources;
2399
2771
  private listServiceAppDirNames;
2400
2772
  private isMissingFileError;
2401
2773
  }
2402
- type ServiceAppRuntime = Pick<McpServiceAppRuntimeService, "dispose" | "getStatus" | "invokeAction" | "listActions" | "restart">; //# sourceMappingURL=service-app.manager.d.ts.map
2774
+ type ServiceAppRuntime = Pick<McpServiceAppRuntimeService, "dispose" | "getStatus" | "invokeAction" | "listActions" | "restart" | "stop">; //# sourceMappingURL=service-app.manager.d.ts.map
2403
2775
  //#endregion
2404
2776
  //#region src/utils/skill-frontmatter.utils.d.ts
2405
2777
  type LocalizedTextMap = Record<string, string>;
@@ -2510,6 +2882,20 @@ declare function dispatchAgentRuntimeSessionRequest(input: {
2510
2882
  }): Promise<void>;
2511
2883
  declare function createAgentRuntimeSessionRequestDispatcher(options: AgentRuntimeSessionRequestDispatcherOptions): SessionRequestDispatcher;
2512
2884
  //#endregion
2885
+ //#region src/features/feature-controls/types/feature-controls.types.d.ts
2886
+ type ProductFeatureControls = {
2887
+ desktopAutomation: {
2888
+ available: boolean;
2889
+ };
2890
+ };
2891
+ //#endregion
2892
+ //#region src/features/feature-controls/services/feature-controls.service.d.ts
2893
+ declare class FeatureControlsService {
2894
+ private readonly desktopHost;
2895
+ constructor(desktopHost: DesktopHost);
2896
+ get: () => Promise<ProductFeatureControls>;
2897
+ }
2898
+ //#endregion
2513
2899
  //#region src/app/nextclaw-kernel.d.ts
2514
2900
  type NextclawKernelOptions = {
2515
2901
  homeDir?: string;
@@ -2517,6 +2903,7 @@ type NextclawKernelOptions = {
2517
2903
  builtInAppsDirectory?: string;
2518
2904
  productVersion?: string;
2519
2905
  productActivitySink?: ProductActivitySink;
2906
+ desktopHost?: DesktopHost;
2520
2907
  };
2521
2908
  type NextclawKernelRuntimeControl<TGatewayInput, TUiInput, TStartInput> = {
2522
2909
  gateway: (input: TGatewayInput) => Promise<void>;
@@ -2569,12 +2956,14 @@ declare class NextclawKernel {
2569
2956
  readonly toolProviderManager: ToolProviderManager;
2570
2957
  readonly agentRunRequestManager: AgentRunRequestManager;
2571
2958
  readonly observations: ObservationManager;
2959
+ readonly capabilityGrants: CapabilityGrantManager;
2960
+ readonly featureControls: FeatureControlsService;
2961
+ private readonly capabilityGrantLegacyMigration;
2572
2962
  private readonly ncpAgentSessionJournalStore;
2573
2963
  private readonly contributions;
2574
2964
  private gatewayController;
2575
2965
  constructor(options?: NextclawKernelOptions);
2576
- private createContributions;
2577
- private installAppPackageRuntimeHooks;
2966
+ private createCapabilityGrantLegacyMigration;
2578
2967
  listSessionTypes: (params?: AgentRuntimeSessionTypeDescribeParams) => Promise<{
2579
2968
  defaultType: string;
2580
2969
  options: AgentRuntimeSessionTypeOption[];
@@ -3277,5 +3666,5 @@ declare function resolveLegacyEventType(message: SessionMessage): string;
3277
3666
  declare function getUiContentParamsBootstrapScript(): string;
3278
3667
  declare function injectUiContentParamsBootstrap(html: string): string;
3279
3668
  //#endregion
3280
- export { AUTOMATIC_UPDATE_CHECK_INTERVAL_MS, AccessLoginResult, AccessManager, AccessManagerOptions, AccessPasswordStatus, AccessPrincipal, AccessRole, AccessSessionRecord, AccessSessionState, AgentManager, AgentManagerOptions, AgentRunClient, type AgentRunReply, type AgentRunReplyOptions, AgentRunSession, type AgentRunStreamOptions, type AgentRuntimeEntry, type AgentRuntimeProviderRegistration, AgentRuntimeSessionRequestDispatcherOptions, type AgentRuntimeSessionTypeCatalog, type AgentRuntimeSessionTypeDescribeParams, AgentRuntimeSessionTypeIcon, type AgentRuntimeSessionTypeOption, AgentRuntimeSessionTypeProvider, AppDataDeleteResult, AppDataDiagnostic, AppDataEntry, AppDataError, AppDataErrorCode, AppDataLifecycle, AppDataList, AppDataManager, AppDataSource, type AppEventEmitOptions, type AppEventEnvelope, type AppEventHandler, type AppEventKey, AppPackageComponentKind, AppPackageComponentSource, AppPackageComponentSourceList, AppPackageComponentView, AppPackageConflict, AppPackageError, AppPackageErrorCode, AppPackageHostTarget, AppPackageList, AppPackageManager, AppPackageOperationAction, AppPackageOperationInput, AppPackageOperationList, AppPackageOperationResult, AppPackageOperationStatus, AppPackageOperationView, AppPackageRuntimeHooks, AppPackageUnavailableDiagnostic, AppPackageView, type AssetApi, AutomationManager, AutomationManagerOptions, BindContextInput, type BuildAgentRunSendPayloadParams, BuildContextTailInput, BuiltinNarpRuntimeProviderService, CONTEXT_COMPACTION_CONTINUATION_TEXT, CONTEXT_COMPACTION_PROJECTION_KIND, CONTEXT_COMPACTION_PROJECTION_METADATA_KEY, CONTEXT_COMPACTION_SYSTEM_PREAMBLE, CONTEXT_COMPACTION_TIMELINE_KIND, ChannelManager, ChannelReplyRouterDispatchParams, CommandRegistry, ConfigManager, ConfigManagerOptions, ConfigManagerRuntimeHooks, ConfigMutationResult, ContextBinding, type ContextBlock, ContextCompactionJournalRecoveryService, ContextCompactionModelProjection, ContextCompactionPreflightBeginResult, ContextCompactionPreflightResult, ContextCompactionPreflightService, ContextCompactionTimelineCheckpoint, ContextCompactionTrigger, type ContextProvider, type ContextProviderRequest, Contribution, CreateAgentRunSessionParams, CreateInboxDeliveryInput, CreateProjectInput, DEFAULT_AGENT_RUNTIME_ENTRY_ID, DEFAULT_SERVICE_ACTION_RISK, DirectPromptDispatchExecution, DirectPromptDispatchParams, DirectPromptDispatchResult, type Disposer, EventAdmissionPolicy, EventBus, type EventBusOptions, EventDelivery, EventSubscription, EventSubscriptionBudget, ExtensionLoadProgress, ExtensionLoadResult, ExtensionManager, type ExtensionRuntimeStatus, GatewayInboundLoopRuntime, GatewayInboundProcessor, type IContextRegistry, type IKernel, type IMcpRegistry, type IModelRegistry, type INextclawAgent, type INextclawAgentRegistry, type INextclawAgentSessions, type INextclawContributionRegistry, type INextclawHarness, type INextclawRun, type INextclawSession, type INextclawSessionRegistry, type IRuntimeRegistry, type IToolRegistry, InboxDeliveryError, InboxDeliveryErrorCode, InboxDeliveryManager, InboxDeliveryManagerOptions, Ingress, type IngressContext, type IngressEnvelope, type IngressHandler, InstallationKind, InstalledSkillDetail, InstalledSkillSummary, InstalledSkillsList, JsonPointer, JsonValue, type Key, type LLMResponse, type LLMStreamEvent, type LearningLoopRuntimeConfig, LlmProviderManager, LlmProviderRuntime, LlmUsageManager, LlmUsageManagerOptions, LlmUsageRecord, LlmUsageSnapshot, LlmUsageStats, LlmUsageStore, LlmUsageStoreOptions, LlmUsageSummary, LocalizedTextMap, MAX_INBOX_DELIVERY_CONTENT_LENGTH, type McpCatalogFilter, McpManager, type McpServerDefinition, type McpServerRecord, McpServiceAppRuntimeService, type McpToolCallInput, type McpToolCatalogEntry, type ModelChatInput, NARP_HTTP_RUNTIME_KIND, NARP_STDIO_RUNTIME_KIND, NEXTCLAW_TIMELINE_KIND_METADATA_KEY, NcpAgentSessionJournalStore, type NcpEndpointEvent, type NcpMessage, type NcpTool, type NextclawAgentDefinition, type NextclawContributionDescriptor, NextclawHarness, NextclawHarnessError, type NextclawHarnessErrorCode, type NextclawHarnessOptions, NextclawKernel, NextclawKernelOptions, NextclawNcpResolvedAgentProfile, NextclawNcpResolvedRunContext, NextclawNcpRunContextResolveParams, type NextclawRunStatus, type NextclawSessionCreateInput, type NextclawSessionRunInput, type NextclawTaskInput, type NextclawTaskResult, ObservationCapabilityDescriptor, ObservationContextTail, ObservationEvent, ObservationEventAdmissionDecision, ObservationExtensionRuntime, ObservationManager, ObservationManagerOptions, ObservationRef, ObservationRelationshipStatus, ObservationState, ObservationTarget, PANEL_APP_AGENT_CAPABILITIES, PROJECT_TEMPLATE_IDS, PROVIDER_MODEL_CATALOG_REFRESH_INTERVAL_MS, PanelAppAgentCapability, PanelAppAgentGenerateObjectInput, PanelAppAgentGenerateObjectRequest, PanelAppAgentGenerateObjectResult, PanelAppAgentRunClient, PanelAppAgentSendPayload, PanelAppAgentSendRequest, PanelAppAgentSendResult, PanelAppAssetTokenService, PanelAppBridgeSession, PanelAppCapabilityGrant, PanelAppCapabilityGrantCaller, type PanelAppClientGrant, PanelAppContent, PanelAppDeleteResult, PanelAppEntry, PanelAppError, PanelAppErrorCode, PanelAppList, PanelAppManager, type PanelAppPreferencesUpdate, PreferenceEntry, PreferenceError, PreferenceErrorCode, PreferenceJsonValue, PreferenceManager, PreferenceManagerOptions, ProductActivityKind, ProductActivitySignal, ProductActivitySink, ProductActivitySource, ProjectError, ProjectErrorCode, ProjectManager, ProjectManagerOptions, ProjectRecord, ProjectTemplate, ProjectTemplateId, type ProviderCatalogPlugin, ProviderManagerNcpLLMApi, ProviderModelCatalogEntry, ProviderModelCatalogManager, ProviderModelCatalogSnapshot, ProviderModelsDiscoverInput, type ProviderSpec, ResolvedAgentProfile, SERVICE_APP_MANIFEST_FILE_NAME, ServiceAction, ServiceActionCaller, ServiceActionGrant, ServiceActionGrantRequest, ServiceActionGrantState, ServiceActionInvokeRequest, ServiceActionInvokeResult, ServiceActionRisk, ServiceActionRuntimeState, ServiceAppDeleteResult, ServiceAppError, type ServiceAppErrorCode, ServiceAppList, ServiceAppManager, ServiceAppManifest, ServiceAppManifestAction, ServiceAppProtocol, ServiceAppRecord, ServiceAppRuntimeStatus, SessionContextCompactionError, SessionContextCompactionErrorCode, SessionContextCompactionManager, SessionContextCompactionResult, SessionManager, SessionManagerOptions, SessionMessageCursorError, SessionMessagePage, SessionModelTokenUsage, type SessionPendingInput, type SessionQueuedInput, SessionRequestManager, SessionRequestManagerOptions, SessionSettingsError, SessionSettingsPatch, type SessionSteerQueuedInputResult, SessionTokenUsageStatus, SessionTokenUsageSummary, SessionTokenUsageTotals, SkillFrontmatter, type SkillInfo, SkillManager, type SkillScope, SubscribeEventsInput, SystemObjectReferenceError, SystemObjectReferenceErrorCode, SystemObjectReferenceManager, SystemObjectReferenceProvider, SystemObjectReferenceSnapshotSource, type TypedKey, TypedPredicate, UnsignedUpdateManifest, type Unsubscribe, UpdateBlockReason, UpdateHostKind, UpdateManifest, UpdateManifestReader, UpdateProgress, UpdateSnapshot, UpdateStatus, type WorkspaceServiceDataOwner, assertObservationJsonValue, assertObservationPredicate, buildAgentRunSendPayload, buildContextCompactionModelProjection, buildContextCompactionTimelineNcpMessage, buildLlmUsageSummary, buildLocalizedTextMap, buildNextclawNcpRunContext, buildObservationEventModelMessage, buildServiceActionId, createAgentRuntimeSessionRequestDispatcher, createAssetTools, createContextCompactionMessageId, createContextWindowSignature, createCronJobSystemObjectProvider, createInboxDeliverySystemObjectProvider, createLlmUsageRecord, createTypedKey, describeAgentRuntimeSessionTypes, dispatchAgentRuntimeSessionRequest, dispatchChannelReplyRoute, dispatchPromptOverNcp, dispatchPromptOverNcpResult, evaluateObservationEventAdmission, eventKeys, getAutomaticUpdateCheckDelay, getServiceActionName, getServiceAppManifestPath, getUiContentParamsBootstrapScript, getUnsignedUpdateManifest, hasLlmUsageTelemetry, ingressKeys, injectUiContentParamsBootstrap, isAppDataError, isAppPackageError, isContextCompactionProjectionMessage, isContextCompactionTimelineMessage, isContextWindowSnapshot, isInboxDeliveryError, isPanelAppAgentCapability, isPanelAppError, isPreferenceError, isProjectError, isReplyCapableChannel, isServiceAppError, isSessionContextCompactionError, isSessionMessageCursorError, isSessionSettingsError, isSystemObjectReferenceError, listExtensionChannelIds, listServiceAppManifestActions, matchesObservationPredicate, mergeServiceAppRuntimeActions, normalizeAgentRuntimeSessionTypeIcon, normalizeLlmUsageModel, normalizeOptionalString, parseObservationDuration, parseServiceAppManifest, parseSkillFrontmatter, readContextCompactionCheckpoint, readContextWindowEventSessionId, readJsonPointer, readLatestContextCompactionCheckpoint, readLearningLoopRuntimeConfig, readMetadataModel, readMetadataThinking, readServiceAppManifest, resolveAgentRuntimeEntries, resolveAutomaticUpdateCheckIntervalMs, resolveChannelReplyRoute, resolveEffectiveModel, resolveLegacyEventType, resolveSessionChannelContext, runGatewayInboundLoop, runNextclawTask, sanitizeLlmUsage, serializeContextTail, serializeUnsignedUpdateManifest, shouldRefreshContextWindowDuringStream, shouldRefreshContextWindowImmediately, startPromptOverNcpExecution, stripSkillFrontmatter, syncSessionThinkingPreference, toBoundedJson, toNcpMessages, waitForAgentRuntimeSessionReply };
3669
+ export { AUTOMATIC_UPDATE_CHECK_INTERVAL_MS, AccessLoginResult, AccessManager, AccessManagerOptions, AccessPasswordStatus, AccessPrincipal, AccessRole, AccessSessionRecord, AccessSessionState, AgentManager, AgentManagerOptions, AgentRunClient, type AgentRunReply, type AgentRunReplyOptions, AgentRunSession, type AgentRunStreamOptions, type AgentRuntimeEntry, type AgentRuntimeProviderRegistration, AgentRuntimeSessionRequestDispatcherOptions, type AgentRuntimeSessionTypeCatalog, type AgentRuntimeSessionTypeDescribeParams, AgentRuntimeSessionTypeIcon, type AgentRuntimeSessionTypeOption, AgentRuntimeSessionTypeProvider, AppDataDeleteResult, AppDataDiagnostic, AppDataEntry, AppDataError, AppDataErrorCode, AppDataLifecycle, AppDataList, AppDataManager, AppDataSource, type AppEventEmitOptions, type AppEventEnvelope, type AppEventHandler, type AppEventKey, AppPackageComponentKind, AppPackageComponentSource, AppPackageComponentSourceList, AppPackageComponentView, AppPackageConflict, AppPackageError, AppPackageErrorCode, AppPackageHostTarget, AppPackageList, AppPackageManager, AppPackageOperationAction, AppPackageOperationInput, AppPackageOperationList, AppPackageOperationResult, AppPackageOperationStatus, AppPackageOperationView, AppPackageRuntimeHooks, AppPackageUnavailableDiagnostic, AppPackageUninstallRollback, AppPackageView, type AssetApi, AutomationManager, AutomationManagerOptions, BindContextInput, type BuildAgentRunSendPayloadParams, BuildContextTailInput, BuiltinNarpRuntimeProviderService, CONTEXT_COMPACTION_CONTINUATION_TEXT, CONTEXT_COMPACTION_PROJECTION_KIND, CONTEXT_COMPACTION_PROJECTION_METADATA_KEY, CONTEXT_COMPACTION_SYSTEM_PREAMBLE, CONTEXT_COMPACTION_TIMELINE_KIND, CapabilityGrant, CapabilityGrantDecision, CapabilityGrantFilter, CapabilityGrantLegacyMigrationService, CapabilityGrantListener, CapabilityGrantManager, CapabilityGrantRequest, CapabilityGrantResource, CapabilityGrantRevocationListener, CapabilityGrantStore, CapabilityGrantSubject, ChannelManager, ChannelReplyRouterDispatchParams, CommandRegistry, ConfigManager, ConfigManagerOptions, ConfigManagerRuntimeHooks, ConfigMutationResult, ContextBinding, type ContextBlock, ContextCompactionJournalRecoveryService, ContextCompactionModelProjection, ContextCompactionPreflightBeginResult, ContextCompactionPreflightResult, ContextCompactionPreflightService, ContextCompactionTimelineCheckpoint, ContextCompactionTrigger, type ContextProvider, type ContextProviderRequest, Contribution, CreateAgentRunSessionParams, CreateInboxDeliveryInput, CreateProjectInput, DEFAULT_AGENT_RUNTIME_ENTRY_ID, DEFAULT_SERVICE_ACTION_RISK, DESKTOP_HOST_ACCESS, DESKTOP_HOST_PROTOCOL_VERSION, DesktopApplicationTarget, DesktopCapabilityError, DesktopCapabilityErrorCode, DesktopHost, DesktopHostAccess, DesktopHostCaller, DesktopHostCapabilityDeclaration, DesktopHostCapabilityManager, DesktopHostEvent, DesktopHostEventListener, DesktopHostManifest, DesktopHostMethod, DesktopHostRequest, DesktopHostResponse, DesktopHostStatus, DesktopNodeReplService, DesktopSessionCaller, DesktopSessionStateService, DesktopSnapshotOptions, DirectPromptDispatchExecution, DirectPromptDispatchParams, DirectPromptDispatchResult, type Disposer, EventAdmissionPolicy, EventBus, type EventBusOptions, EventDelivery, EventSubscription, EventSubscriptionBudget, ExtensionLoadProgress, ExtensionLoadResult, ExtensionManager, type ExtensionRuntimeStatus, FeatureControlsService, GatewayInboundLoopRuntime, GatewayInboundProcessor, type IContextRegistry, type IKernel, type IMcpRegistry, type IModelRegistry, type INextclawAgent, type INextclawAgentRegistry, type INextclawAgentSessions, type INextclawContributionRegistry, type INextclawHarness, type INextclawRun, type INextclawSession, type INextclawSessionRegistry, type IRuntimeRegistry, type IToolRegistry, InboxDeliveryError, InboxDeliveryErrorCode, InboxDeliveryManager, InboxDeliveryManagerOptions, Ingress, type IngressContext, type IngressEnvelope, type IngressHandler, InstallationKind, InstalledSkillDetail, InstalledSkillSummary, InstalledSkillsList, JsonPointer, JsonValue, type Key, type LLMResponse, type LLMStreamEvent, type LearningLoopRuntimeConfig, LlmProviderManager, LlmProviderRuntime, LlmUsageManager, LlmUsageManagerOptions, LlmUsageRecord, LlmUsageSnapshot, LlmUsageStats, LlmUsageStore, LlmUsageStoreOptions, LlmUsageSummary, LocalizedTextMap, MAX_INBOX_DELIVERY_CONTENT_LENGTH, type McpCatalogFilter, McpManager, type McpServerDefinition, type McpServerRecord, McpServiceAppRuntimeService, type McpToolCallInput, type McpToolCatalogEntry, type ModelChatInput, NARP_HTTP_RUNTIME_KIND, NARP_STDIO_RUNTIME_KIND, NEXTCLAW_TIMELINE_KIND_METADATA_KEY, NcpAgentSessionJournalStore, type NcpEndpointEvent, type NcpMessage, type NcpTool, type NextclawAgentDefinition, type NextclawContributionDescriptor, NextclawHarness, NextclawHarnessError, type NextclawHarnessErrorCode, type NextclawHarnessOptions, NextclawKernel, NextclawKernelOptions, NextclawNcpResolvedAgentProfile, NextclawNcpResolvedRunContext, NextclawNcpRunContextResolveParams, type NextclawRunStatus, type NextclawSessionCreateInput, type NextclawSessionRunInput, type NextclawTaskInput, type NextclawTaskResult, ObservationCapabilityDescriptor, ObservationContextTail, ObservationEvent, ObservationEventAdmissionDecision, ObservationExtensionRuntime, ObservationManager, ObservationManagerOptions, ObservationRef, ObservationRelationshipStatus, ObservationState, ObservationTarget, PANEL_APP_AGENT_CAPABILITIES, PROJECT_TEMPLATE_IDS, PROVIDER_MODEL_CATALOG_REFRESH_INTERVAL_MS, PanelAppAgentCapability, PanelAppAgentGenerateObjectInput, PanelAppAgentGenerateObjectRequest, PanelAppAgentGenerateObjectResult, PanelAppAgentRunClient, PanelAppAgentSendPayload, PanelAppAgentSendRequest, PanelAppAgentSendResult, PanelAppAssetTokenService, PanelAppBridgeSession, PanelAppCapabilityGrant, PanelAppCapabilityGrantCaller, PanelAppClientGrant, PanelAppContent, PanelAppDeleteResult, PanelAppEntry, PanelAppError, PanelAppErrorCode, PanelAppList, PanelAppManager, type PanelAppPreferencesUpdate, PreferenceEntry, PreferenceError, PreferenceErrorCode, PreferenceJsonValue, PreferenceManager, PreferenceManagerOptions, ProductActivityKind, ProductActivitySignal, ProductActivitySink, ProductActivitySource, type ProductFeatureControls, ProjectError, ProjectErrorCode, ProjectManager, ProjectManagerOptions, ProjectRecord, ProjectTemplate, ProjectTemplateId, type ProviderCatalogPlugin, ProviderManagerNcpLLMApi, ProviderModelCatalogEntry, ProviderModelCatalogManager, ProviderModelCatalogSnapshot, ProviderModelsDiscoverInput, type ProviderSpec, ResolvedAgentProfile, ResolvedDesktopApplicationTarget, SERVICE_APP_MANIFEST_FILE_NAME, ServiceAction, ServiceActionCaller, ServiceActionGrant, ServiceActionGrantRequest, ServiceActionGrantState, ServiceActionInvokeRequest, ServiceActionInvokeResult, ServiceActionRisk, ServiceActionRuntimeState, ServiceAppDeleteResult, ServiceAppError, type ServiceAppErrorCode, ServiceAppList, ServiceAppManager, ServiceAppManifest, ServiceAppManifestAction, ServiceAppProtocol, ServiceAppRecord, ServiceAppRuntimeStatus, SessionContextCompactionError, SessionContextCompactionErrorCode, SessionContextCompactionManager, SessionContextCompactionResult, SessionManager, SessionManagerOptions, SessionMessageCursorError, SessionMessagePage, SessionModelTokenUsage, type SessionPendingInput, type SessionQueuedInput, SessionRequestManager, SessionRequestManagerOptions, SessionSettingsError, SessionSettingsPatch, type SessionSteerQueuedInputResult, SessionTokenUsageStatus, SessionTokenUsageSummary, SessionTokenUsageTotals, SkillFrontmatter, type SkillInfo, SkillManager, type SkillScope, SubscribeEventsInput, SystemObjectReferenceError, SystemObjectReferenceErrorCode, SystemObjectReferenceManager, SystemObjectReferenceProvider, SystemObjectReferenceSnapshotSource, type TypedKey, TypedPredicate, UnavailableDesktopHost, UnsignedUpdateManifest, type Unsubscribe, UpdateBlockReason, UpdateHostKind, UpdateManifest, UpdateManifestReader, UpdateProgress, UpdateSnapshot, UpdateStatus, type WorkspaceServiceDataOwner, assertObservationJsonValue, assertObservationPredicate, buildAgentRunSendPayload, buildContextCompactionModelProjection, buildContextCompactionTimelineNcpMessage, buildLlmUsageSummary, buildLocalizedTextMap, buildNextclawNcpRunContext, buildObservationEventModelMessage, buildServiceActionId, capabilityGrantCovers, createAgentRuntimeSessionRequestDispatcher, createAssetTools, createCapabilityDeclarationFingerprint, createContextCompactionMessageId, createContextWindowSignature, createCronJobSystemObjectProvider, createDesktopHostError, createInboxDeliverySystemObjectProvider, createLlmUsageRecord, createPanelAppAgentGrantRequest, createPanelAppClientGrantRequest, createServiceActionGrantRequest, createTypedKey, describeAgentRuntimeSessionTypes, dispatchAgentRuntimeSessionRequest, dispatchChannelReplyRoute, dispatchPromptOverNcp, dispatchPromptOverNcpResult, evaluateObservationEventAdmission, eventKeys, getAutomaticUpdateCheckDelay, getCapabilityGrantKey, getServiceActionName, getServiceAppManifestPath, getUiContentParamsBootstrapScript, getUnsignedUpdateManifest, hasLlmUsageTelemetry, ingressKeys, injectUiContentParamsBootstrap, isAppDataError, isAppPackageError, isContextCompactionProjectionMessage, isContextCompactionTimelineMessage, isContextWindowSnapshot, isInboxDeliveryError, isPanelAppAgentCapability, isPanelAppError, isPreferenceError, isProjectError, isReplyCapableChannel, isServiceAppError, isSessionContextCompactionError, isSessionMessageCursorError, isSessionSettingsError, isSystemObjectReferenceError, listExtensionChannelIds, listServiceAppManifestActions, matchesCapabilityGrantFilter, matchesObservationPredicate, mergeServiceAppRuntimeActions, normalizeAgentRuntimeSessionTypeIcon, normalizeCapabilityGrantRequest, normalizeLlmUsageModel, normalizeOptionalString, parseObservationDuration, parseServiceAppManifest, parseSkillFrontmatter, readContextCompactionCheckpoint, readContextWindowEventSessionId, readJsonPointer, readLatestContextCompactionCheckpoint, readLearningLoopRuntimeConfig, readMetadataModel, readMetadataThinking, readServiceActionTargetId, readServiceAppManifest, resolveAgentRuntimeEntries, resolveAutomaticUpdateCheckIntervalMs, resolveChannelReplyRoute, resolveEffectiveModel, resolveLegacyEventType, resolveSessionChannelContext, runGatewayInboundLoop, runNextclawTask, sanitizeLlmUsage, serializeContextTail, serializeUnsignedUpdateManifest, shouldRefreshContextWindowDuringStream, shouldRefreshContextWindowImmediately, startPromptOverNcpExecution, stripSkillFrontmatter, syncSessionThinkingPreference, toBoundedJson, toNcpMessages, waitForAgentRuntimeSessionReply };
3281
3670
  //# sourceMappingURL=index.d.ts.map