@crewx/sdk 0.9.0-rc.16 → 0.9.0-rc.161

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.
Files changed (308) hide show
  1. package/README.md +1 -1
  2. package/dist/account/auth-client.d.ts +61 -0
  3. package/dist/account/auth-json-v2.d.ts +1 -0
  4. package/dist/account/auth-json.d.ts +30 -0
  5. package/dist/account/config.d.ts +37 -0
  6. package/dist/account/env-bootstrap.d.ts +11 -0
  7. package/dist/account/errors.d.ts +24 -0
  8. package/dist/account/index.d.ts +12 -0
  9. package/dist/account/index.js +2 -0
  10. package/dist/account/session-manager.d.ts +47 -0
  11. package/dist/activity-log/builder.d.ts +59 -6
  12. package/dist/agent/agent-list-view.d.ts +19 -0
  13. package/dist/app/app.d.ts +157 -0
  14. package/dist/app/backend-env.d.ts +3 -0
  15. package/dist/app/content-media-types.d.ts +2 -0
  16. package/dist/app/context.d.ts +2 -0
  17. package/dist/app/entry.d.ts +7 -0
  18. package/dist/app/frame.d.ts +55 -0
  19. package/dist/app/index.d.ts +12 -0
  20. package/dist/app/index.js +10 -0
  21. package/dist/app/protocol.d.ts +9 -0
  22. package/dist/app/runtime.d.ts +21 -0
  23. package/dist/app/schedule-contract.d.ts +59 -0
  24. package/dist/app/tool-mode.d.ts +3 -0
  25. package/dist/boxing/box.types.d.ts +4 -0
  26. package/dist/config/canonicalize-agent-options.d.ts +18 -0
  27. package/dist/config/default-agent-models.d.ts +11 -0
  28. package/dist/config/global-settings.d.ts +33 -0
  29. package/dist/config/migrate-grok-mode.d.ts +6 -0
  30. package/dist/config/model-compat.d.ts +31 -0
  31. package/dist/config/models.generated.d.ts +37 -0
  32. package/dist/config/models.remote.d.ts +1 -0
  33. package/dist/config/overdrive.d.ts +7 -0
  34. package/dist/config/pricing.d.ts +6 -3
  35. package/dist/config/pricing.generated.d.ts +4 -0
  36. package/dist/config/pricing.types.d.ts +4 -0
  37. package/dist/config/timeout.config.d.ts +4 -0
  38. package/dist/config/wi-boards.d.ts +19 -0
  39. package/dist/context-budget/continuity.d.ts +63 -0
  40. package/dist/context-budget/index.d.ts +142 -0
  41. package/dist/conversation/index.d.ts +1 -1
  42. package/dist/conversation/sqlite-provider.d.ts +6 -3
  43. package/dist/conversation/to-template-messages.d.ts +9 -0
  44. package/dist/conversation/types.d.ts +58 -1
  45. package/dist/desktop/command-runner.d.ts +4 -0
  46. package/dist/desktop/default-adapters.d.ts +4 -0
  47. package/dist/desktop/global-install.d.ts +19 -0
  48. package/dist/desktop/index.d.ts +3 -0
  49. package/dist/desktop/index.js +3 -0
  50. package/dist/desktop/install.d.ts +5 -0
  51. package/dist/desktop/lnk.d.ts +22 -0
  52. package/dist/desktop/manifest.d.ts +21 -0
  53. package/dist/desktop/types.d.ts +67 -0
  54. package/dist/desktop/version.d.ts +1 -0
  55. package/dist/desktop/windows-paths.d.ts +21 -0
  56. package/dist/desktop/wrapper.d.ts +18 -0
  57. package/dist/esm/account/index.js +2 -0
  58. package/dist/esm/app/index.js +10 -0
  59. package/dist/esm/desktop/index.js +3 -0
  60. package/dist/esm/index.js +1128 -226
  61. package/dist/esm/node/index.js +2 -0
  62. package/dist/esm/plugins/index.js +496 -214
  63. package/dist/esm/process/index.js +1 -0
  64. package/dist/esm/publish/index.js +2 -0
  65. package/dist/esm/repository/index.js +608 -211
  66. package/dist/esm/skills/index.js +2 -0
  67. package/dist/esm/testing/index.js +1 -1
  68. package/dist/events/types.d.ts +16 -0
  69. package/dist/facade/Crewx.d.ts +61 -5
  70. package/dist/facade/task-ticket.d.ts +14 -0
  71. package/dist/highlight/thread-highlight-prompt.d.ts +2 -0
  72. package/dist/highlight/thread-highlighter.d.ts +326 -0
  73. package/dist/index.browser.d.ts +21 -1
  74. package/dist/index.browser.js +6 -2
  75. package/dist/index.d.ts +137 -17
  76. package/dist/index.js +1128 -226
  77. package/dist/internal/console-decoder.d.ts +38 -0
  78. package/dist/internal/windows-spawn.d.ts +10 -0
  79. package/dist/layout/types.d.ts +18 -1
  80. package/dist/lifecycle/process-lease.d.ts +80 -0
  81. package/dist/lifecycle/process-owner.d.ts +20 -0
  82. package/dist/lifecycle/task-heartbeat.d.ts +41 -0
  83. package/dist/lifecycle/task-stop.d.ts +82 -0
  84. package/dist/lifecycle/update-admission.d.ts +45 -0
  85. package/dist/local-server/base-url.d.ts +18 -0
  86. package/dist/local-server/index.d.ts +8 -0
  87. package/dist/local-server/opencode.d.ts +8 -0
  88. package/dist/local-server/probe.d.ts +3 -0
  89. package/dist/local-server/runtime.d.ts +26 -0
  90. package/dist/local-server/types.d.ts +43 -0
  91. package/dist/mcp-app/agent-access.d.ts +26 -0
  92. package/dist/mcp-app/app-handoff.d.ts +109 -0
  93. package/dist/mcp-app/app-icon-read.d.ts +7 -0
  94. package/dist/mcp-app/app-schedule.d.ts +85 -0
  95. package/dist/mcp-app/apps-context.d.ts +32 -0
  96. package/dist/mcp-app/bundle-provenance.d.ts +3 -0
  97. package/dist/mcp-app/candidate-registration.d.ts +4 -0
  98. package/dist/mcp-app/card-handler.d.ts +7 -0
  99. package/dist/mcp-app/catalog.d.ts +7 -0
  100. package/dist/mcp-app/content-channel.d.ts +86 -0
  101. package/dist/mcp-app/content-declarations.d.ts +31 -0
  102. package/dist/mcp-app/dev-checks.d.ts +31 -0
  103. package/dist/mcp-app/diagnostic-reason.d.ts +3 -0
  104. package/dist/mcp-app/discovery.d.ts +164 -0
  105. package/dist/mcp-app/errors.d.ts +7 -0
  106. package/dist/mcp-app/index.d.ts +41 -0
  107. package/dist/mcp-app/installed-app-ref.d.ts +25 -0
  108. package/dist/mcp-app/model-context.d.ts +29 -0
  109. package/dist/mcp-app/node-app-discovery-fs.d.ts +23 -0
  110. package/dist/mcp-app/product-bundle-assets.d.ts +27 -0
  111. package/dist/mcp-app/product-bundle-loader.d.ts +53 -0
  112. package/dist/mcp-app/projection.d.ts +14 -0
  113. package/dist/mcp-app/prompt-cards.d.ts +28 -0
  114. package/dist/mcp-app/registry.d.ts +28 -0
  115. package/dist/mcp-app/skill-backend.d.ts +135 -0
  116. package/dist/mcp-app/state-set.d.ts +9 -0
  117. package/dist/mcp-app/types.d.ts +488 -0
  118. package/dist/mcp-app/workspace-app-assets.d.ts +42 -0
  119. package/dist/mcp-app/workspace-app-scan-cache.d.ts +27 -0
  120. package/dist/mcp-app/workspace-snapshot.d.ts +75 -0
  121. package/dist/migrations/0011_far_black_tarantula.sql +1 -0
  122. package/dist/migrations/0012_blue_turbo.sql +23 -0
  123. package/dist/migrations/0013_hesitant_adam_destine.sql +15 -0
  124. package/dist/migrations/0014_organic_mongu.sql +73 -0
  125. package/dist/migrations/0015_panoramic_gorilla_man.sql +71 -0
  126. package/dist/migrations/0016_fuzzy_hemingway.sql +14 -0
  127. package/dist/migrations/0017_project_stage_sdk_migration.sql +29 -0
  128. package/dist/migrations/0018_bored_jackal.sql +33 -0
  129. package/dist/migrations/0019_backfill_task_thread_ids.sql +74 -0
  130. package/dist/migrations/0020_useful_iron_lad.sql +55 -0
  131. package/dist/migrations/0021_dashing_peter_quill.sql +51 -0
  132. package/dist/migrations/0022_wandering_bucky.sql +1 -0
  133. package/dist/migrations/0023_red_payback.sql +1 -0
  134. package/dist/migrations/0024_storage_metadata.sql +262 -0
  135. package/dist/migrations/0025_task_heartbeat.sql +8 -0
  136. package/dist/migrations/0025_thread_app_instance_ledger.sql +2 -0
  137. package/dist/migrations/0026_mcp_action_source.sql +47 -0
  138. package/dist/migrations/0027_task_stop_scope_cleanup.sql +5 -0
  139. package/dist/migrations/0027_ui_instance_active_unique.sql +2 -0
  140. package/dist/migrations/0029_nice_rhino.sql +1 -0
  141. package/dist/migrations/0031_petite_arclight.sql +6 -0
  142. package/dist/migrations/0032_ui_instance_opened_by.sql +1 -0
  143. package/dist/migrations/0033_thread_creator_boundary_guard.sql +38 -0
  144. package/dist/migrations/0034_keen_fallen_one.sql +36 -0
  145. package/dist/migrations/0035_request_log_daily.sql +11 -0
  146. package/dist/migrations/0036_ui_definition_archive.sql +8 -0
  147. package/dist/migrations/0037_ui_instance_agent_open_request.sql +1 -0
  148. package/dist/migrations/0038_task_rating.sql +3 -0
  149. package/dist/migrations/0039_aspiring_purifiers.sql +9 -0
  150. package/dist/migrations/0040_task_provider_inputs.sql +53 -0
  151. package/dist/migrations/meta/0011_snapshot.json +1342 -0
  152. package/dist/migrations/meta/0012_snapshot.json +1494 -0
  153. package/dist/migrations/meta/0013_snapshot.json +1592 -0
  154. package/dist/migrations/meta/0014_snapshot.json +1975 -0
  155. package/dist/migrations/meta/0015_snapshot.json +2315 -0
  156. package/dist/migrations/meta/0016_snapshot.json +2419 -0
  157. package/dist/migrations/meta/0017_snapshot.json +2419 -0
  158. package/dist/migrations/meta/0018_snapshot.json +2570 -0
  159. package/dist/migrations/meta/0020_snapshot.json +2895 -0
  160. package/dist/migrations/meta/0021_snapshot.json +3031 -0
  161. package/dist/migrations/meta/0022_snapshot.json +3039 -0
  162. package/dist/migrations/meta/0023_snapshot.json +3047 -0
  163. package/dist/migrations/meta/0029_snapshot.json +3206 -0
  164. package/dist/migrations/meta/0031_snapshot.json +3251 -0
  165. package/dist/migrations/meta/0034_snapshot.json +3473 -0
  166. package/dist/migrations/meta/0035_snapshot.json +3547 -0
  167. package/dist/migrations/meta/0036_snapshot.json +3591 -0
  168. package/dist/migrations/meta/0037_snapshot.json +3598 -0
  169. package/dist/migrations/meta/0038_snapshot.json +3626 -0
  170. package/dist/migrations/meta/0039_snapshot.json +3684 -0
  171. package/dist/migrations/meta/0040_snapshot.json +3759 -0
  172. package/dist/migrations/meta/_journal.json +210 -0
  173. package/dist/node/index.d.ts +1 -0
  174. package/dist/node/index.js +2 -0
  175. package/dist/paths.d.ts +1 -0
  176. package/dist/plugin/types.d.ts +1 -0
  177. package/dist/plugins/index.d.ts +1 -1
  178. package/dist/plugins/index.js +496 -214
  179. package/dist/plugins/sqlite-tracing.d.ts +46 -0
  180. package/dist/process/index.d.ts +2 -0
  181. package/dist/process/index.js +1 -0
  182. package/dist/process/process-control.d.ts +41 -0
  183. package/dist/prompt/tag-names.d.ts +22 -0
  184. package/dist/provider/acp/connection.d.ts +6 -0
  185. package/dist/provider/acp/meta.d.ts +11 -0
  186. package/dist/provider/bridge.d.ts +7 -1
  187. package/dist/provider/classify-task-error.d.ts +2 -0
  188. package/dist/provider/cli/adapter.types.d.ts +14 -2
  189. package/dist/provider/cli/adapters/agent-call.util.d.ts +1 -1
  190. package/dist/provider/cli/adapters/cli-knob.util.d.ts +7 -0
  191. package/dist/provider/cli/adapters/codex-item.d.ts +1 -0
  192. package/dist/provider/cli/adapters/event-timestamp.util.d.ts +1 -0
  193. package/dist/provider/cli/adapters/grok.d.ts +2 -0
  194. package/dist/provider/cli/adapters/index.d.ts +5 -0
  195. package/dist/provider/cli/index.d.ts +3 -2
  196. package/dist/provider/cli/meta.d.ts +5 -0
  197. package/dist/provider/cli/protocol-envelope.d.ts +3 -0
  198. package/dist/provider/errors.d.ts +5 -1
  199. package/dist/provider/idle-watchdog.d.ts +19 -0
  200. package/dist/provider/models.d.ts +17 -12
  201. package/dist/provider/order.d.ts +1 -1
  202. package/dist/provider/parse-usage.d.ts +6 -0
  203. package/dist/provider/provider-selection.d.ts +8 -0
  204. package/dist/provider/redact-technical-message.d.ts +1 -0
  205. package/dist/provider/task-error.types.d.ts +17 -0
  206. package/dist/publish/constants.d.ts +6 -0
  207. package/dist/publish/errors.d.ts +7 -0
  208. package/dist/publish/index.d.ts +55 -0
  209. package/dist/publish/index.js +2 -0
  210. package/dist/publish/manifest.d.ts +47 -0
  211. package/dist/publish/marketplace-api.constants.d.ts +1 -0
  212. package/dist/publish/pack.d.ts +6 -0
  213. package/dist/publish/scan.d.ts +10 -0
  214. package/dist/publish/secrets.d.ts +6 -0
  215. package/dist/publish/upload.d.ts +19 -0
  216. package/dist/remote/execution-profile.d.ts +9 -0
  217. package/dist/remote/index.d.ts +1 -0
  218. package/dist/remote/types.d.ts +28 -0
  219. package/dist/repository/agent-send-history.repository.d.ts +23 -0
  220. package/dist/repository/agent-suggestion.repository.d.ts +34 -0
  221. package/dist/repository/base-sqlite-repository.d.ts +1 -0
  222. package/dist/repository/common-code.repository.d.ts +45 -0
  223. package/dist/repository/db.d.ts +12 -1
  224. package/dist/repository/index.d.ts +49 -6
  225. package/dist/repository/index.js +608 -211
  226. package/dist/repository/logs-db.d.ts +12 -0
  227. package/dist/repository/notification.repository.d.ts +58 -0
  228. package/dist/repository/project.repository.d.ts +90 -0
  229. package/dist/repository/request-log-mover.d.ts +70 -0
  230. package/dist/repository/request-log.repository.d.ts +7 -3
  231. package/dist/repository/storage-metadata.repository.d.ts +64 -0
  232. package/dist/repository/task-log-migration.d.ts +74 -0
  233. package/dist/repository/task-log.repository.d.ts +44 -0
  234. package/dist/repository/task-status.d.ts +21 -0
  235. package/dist/repository/task.repository.d.ts +300 -7
  236. package/dist/repository/thread-history.repository.d.ts +193 -0
  237. package/dist/repository/thread-origin-verdict.d.ts +27 -0
  238. package/dist/repository/thread-title.types.d.ts +29 -0
  239. package/dist/repository/thread.repository.d.ts +118 -7
  240. package/dist/repository/usage-backfill.d.ts +62 -0
  241. package/dist/repository/usage-from-logs.d.ts +21 -0
  242. package/dist/repository/workspace.repository.d.ts +3 -0
  243. package/dist/schema/agent-send-history.d.ts +85 -0
  244. package/dist/schema/agent-suggestions.d.ts +199 -0
  245. package/dist/schema/common-codes.d.ts +216 -0
  246. package/dist/schema/index.d.ts +15 -0
  247. package/dist/schema/notifications.d.ts +303 -0
  248. package/dist/schema/projects.d.ts +610 -0
  249. package/dist/schema/request-log-daily.d.ts +151 -0
  250. package/dist/schema/storage-metadata.d.ts +181 -0
  251. package/dist/schema/task-log-events.d.ts +119 -0
  252. package/dist/schema/task-provider-inputs.d.ts +100 -0
  253. package/dist/schema/tasks.d.ts +1058 -1
  254. package/dist/schema/thread-creator-unverified.d.ts +45 -0
  255. package/dist/schema/thread-history.d.ts +734 -0
  256. package/dist/schema/threads.d.ts +59 -0
  257. package/dist/schema/ui-action-receipts.d.ts +358 -0
  258. package/dist/schema/ui-definition-archive.d.ts +63 -0
  259. package/dist/schema/ui-instance-repins.d.ts +222 -0
  260. package/dist/schema/ui-instances.d.ts +324 -0
  261. package/dist/schema/workspaces.d.ts +17 -0
  262. package/dist/skills/index.d.ts +15 -0
  263. package/dist/skills/index.js +2 -0
  264. package/dist/skills/types.d.ts +18 -0
  265. package/dist/task-log/anchor-child-tasks.d.ts +7 -0
  266. package/dist/task-log/delegation-trailer.d.ts +34 -0
  267. package/dist/template/engine.d.ts +2 -2
  268. package/dist/template/helpers/exec.browser.d.ts +4 -3
  269. package/dist/template/helpers/exec.d.ts +4 -3
  270. package/dist/template/helpers/format-conversation.d.ts +1 -0
  271. package/dist/template/types.d.ts +20 -0
  272. package/dist/testing/index.js +1 -1
  273. package/dist/types/index.d.ts +1578 -3
  274. package/dist/types/task-log.types.d.ts +3 -0
  275. package/dist/ui-card/index.d.ts +2 -0
  276. package/dist/ui-card/legacy-card-parser.d.ts +11 -0
  277. package/dist/ui-instance/definition.d.ts +6 -0
  278. package/dist/ui-instance/errors.d.ts +18 -0
  279. package/dist/ui-instance/index.d.ts +11 -0
  280. package/dist/ui-instance/json.d.ts +19 -0
  281. package/dist/ui-instance/lineage.d.ts +24 -0
  282. package/dist/ui-instance/runtime.d.ts +19 -0
  283. package/dist/ui-instance/store.d.ts +213 -0
  284. package/dist/ui-instance/types.d.ts +337 -0
  285. package/dist/ui-plugin/app-icon.d.ts +50 -0
  286. package/dist/ui-plugin/app-manifest.d.ts +64 -0
  287. package/dist/ui-plugin/csp.d.ts +28 -0
  288. package/dist/ui-plugin/index.d.ts +8 -0
  289. package/dist/ui-plugin/limits.d.ts +27 -0
  290. package/dist/ui-plugin/manifest.d.ts +3 -0
  291. package/dist/ui-plugin/types.d.ts +204 -0
  292. package/dist/ui-plugin/validator.d.ts +18 -0
  293. package/dist/utils/crewx-executable.d.ts +76 -0
  294. package/dist/utils/crewx-home.d.ts +1 -0
  295. package/dist/utils/env-defaults.d.ts +3 -0
  296. package/dist/utils/id.d.ts +1 -1
  297. package/dist/utils/local-identity.d.ts +2 -0
  298. package/dist/utils/runner-env.d.ts +3 -0
  299. package/dist/utils/timestamp.d.ts +1 -0
  300. package/dist/utils/workspace.d.ts +1 -0
  301. package/dist/wi/create.d.ts +48 -0
  302. package/dist/wi/select.d.ts +20 -0
  303. package/package.json +57 -3
  304. package/templates/agents/default.yaml +303 -128
  305. package/templates/documents/crewx-manual.md +138 -138
  306. package/templates/documents/crewx-quick-guide.md +8 -7
  307. package/templates/workflows/wi-default-flow.yaml +65 -0
  308. package/templates/workflows/wi-plan-flow.yaml +140 -0
@@ -0,0 +1,337 @@
1
+ import type { AppScheduleDirective, AppScheduleIntervalMinutes, AppScheduleSnapshot } from '../app/schedule-contract.js';
2
+ import type { ContentFrame, UiActionContentDeclaration, UiContentChannelPort, UiContentRangeRequest } from '../mcp-app/content-channel.js';
3
+ export type JsonPrimitive = string | number | boolean | null;
4
+ export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
5
+ export interface JsonObject {
6
+ [key: string]: JsonValue;
7
+ }
8
+ export type UiInstanceStatus = 'active' | 'completed' | 'expired' | 'revoked' | 'unsupported';
9
+ export interface UiDefinitionRef {
10
+ id: string;
11
+ version: number;
12
+ hash: string;
13
+ }
14
+ export type UiDefinitionUsage = 'card' | 'window';
15
+ export type UiDefinitionDisplayMode = 'inline' | 'floating' | 'focused';
16
+ export declare const DEFAULT_UI_DEFINITION_USAGE: UiDefinitionUsage;
17
+ export type UiActionConfirmation = 'none' | 'native';
18
+ export type UiSkillBackendEnvironmentKey = 'CREWX_APP_INSTANCE_ID' | 'CREWX_THREAD_ID';
19
+ export interface UiDefinitionAction {
20
+ readonly capabilities: readonly string[];
21
+ readonly inputKeys?: readonly string[];
22
+ readonly dataInputs?: readonly string[];
23
+ readonly confirmation?: UiActionConfirmation;
24
+ readonly resultProjection?: UiProjectionPolicy;
25
+ readonly content?: UiActionContentDeclaration;
26
+ readonly env?: readonly UiSkillBackendEnvironmentKey[];
27
+ readonly schedule?: UiDefinitionActionSchedule;
28
+ }
29
+ export interface UiDefinitionActionSchedule {
30
+ readonly everyMinutes: AppScheduleIntervalMinutes;
31
+ readonly timeoutMs: number;
32
+ }
33
+ export interface UiProjectionPolicy {
34
+ allow: readonly string[];
35
+ }
36
+ export type UiDefinitionLegacyToolVisibility = 'model' | 'app';
37
+ export interface UiDefinitionLegacyTool {
38
+ readonly name: string;
39
+ readonly description: string;
40
+ readonly inputSchema: JsonObject;
41
+ readonly textFallback: string;
42
+ readonly visibility: readonly UiDefinitionLegacyToolVisibility[];
43
+ }
44
+ export interface UiDefinitionLegacyReadTool extends UiDefinitionLegacyTool {
45
+ readonly fixedResult?: {
46
+ readonly structuredContent: JsonObject;
47
+ readonly argsPolicy: 'empty-only' | 'ignore';
48
+ };
49
+ }
50
+ export interface UiDefinitionLegacyMetadata {
51
+ readonly readTool?: UiDefinitionLegacyReadTool;
52
+ readonly actionTool?: UiDefinitionLegacyTool;
53
+ readonly hostTools?: Readonly<Record<string, string>>;
54
+ readonly agentAccess?: Readonly<Record<string, 'allowed' | 'denied'>>;
55
+ }
56
+ export interface UiDefinitionInput {
57
+ readonly id: string;
58
+ readonly version: number;
59
+ readonly sourceHash?: string;
60
+ readonly usage?: UiDefinitionUsage;
61
+ readonly detailPanel?: boolean;
62
+ readonly displayModes?: readonly UiDefinitionDisplayMode[];
63
+ readonly actions: Readonly<Record<string, UiDefinitionAction>>;
64
+ readonly renderer?: string;
65
+ readonly surfaces?: readonly string[];
66
+ readonly stateProjection?: UiProjectionPolicy;
67
+ readonly dataPaths?: readonly string[];
68
+ readonly summaryProjection?: UiProjectionPolicy;
69
+ readonly legacy?: UiDefinitionLegacyMetadata;
70
+ }
71
+ export interface UiDefinition extends UiDefinitionInput {
72
+ readonly hash: string;
73
+ }
74
+ export interface CreateUiInstanceInput {
75
+ definition: UiDefinitionRef;
76
+ workspaceId: string;
77
+ threadId: string;
78
+ anchorTaskId?: string;
79
+ domainRef: JsonObject;
80
+ state: JsonObject;
81
+ }
82
+ export type UiAgentOpenReason = 'open' | 'approval';
83
+ export interface UiAgentOpenRequest {
84
+ requestId: string;
85
+ taskId: string;
86
+ reason: UiAgentOpenReason;
87
+ approvalId?: string;
88
+ requestedAt: number;
89
+ }
90
+ export interface UiInstance {
91
+ id: string;
92
+ definition: UiDefinitionRef;
93
+ workspaceId: string;
94
+ threadId: string;
95
+ appId: string | null;
96
+ anchorTaskId: string | null;
97
+ domainRef: JsonObject;
98
+ state: JsonObject;
99
+ revision: number;
100
+ status: UiInstanceStatus;
101
+ grantedCapabilities: readonly string[];
102
+ openedBy?: UiAuthenticatedActor | null;
103
+ createdAt: number;
104
+ updatedAt: number;
105
+ }
106
+ export interface UiActionEnvelope {
107
+ instanceId: string;
108
+ actionId: string;
109
+ expectedRevision: number;
110
+ requestId: string;
111
+ input: JsonObject;
112
+ resolvedDefinition?: UiDefinitionRef;
113
+ content?: {
114
+ in?: {
115
+ readonly ticket: string;
116
+ readonly sha256: string;
117
+ };
118
+ out?: {
119
+ readonly range?: UiContentRangeRequest;
120
+ };
121
+ };
122
+ }
123
+ export type UiActor = {
124
+ kind: 'local';
125
+ id: string;
126
+ } | UiAuthenticatedActor | {
127
+ kind: 'agent';
128
+ id: string;
129
+ };
130
+ export interface UiExecutionContext {
131
+ source: 'cli' | 'ui_host' | 'system' | 'mcp';
132
+ workspaceId: string;
133
+ actor: UiActor;
134
+ }
135
+ export interface UiAuthenticatedActor {
136
+ kind: 'authenticated';
137
+ id: string;
138
+ task?: UiTaskActorSnapshot;
139
+ }
140
+ export interface UiTaskActorSnapshot {
141
+ taskId: string;
142
+ agentId: string;
143
+ threadId: string;
144
+ workspaceId: string;
145
+ parentTaskId: string | null;
146
+ parentTaskIds: readonly string[];
147
+ }
148
+ export declare function isUiAuthenticatedActor(value: unknown): value is UiAuthenticatedActor;
149
+ export interface UiAuthenticatedExecutionContext {
150
+ source: 'ui_host' | 'system';
151
+ workspaceId: string;
152
+ threadId: string;
153
+ actor: UiAuthenticatedActor;
154
+ }
155
+ export interface UiApprovalRequestContext {
156
+ source: 'cli';
157
+ workspaceId: string;
158
+ threadId: string;
159
+ actor: UiAuthenticatedActor;
160
+ }
161
+ export interface UiTaskExecutionContext {
162
+ source: 'cli';
163
+ workspaceId: string;
164
+ threadId: string;
165
+ actor: UiAuthenticatedActor & {
166
+ task: UiTaskActorSnapshot;
167
+ };
168
+ }
169
+ export interface UiApprovalDecisionProvenance {
170
+ approvalId: string;
171
+ decidedBy: string;
172
+ scope?: 'thread';
173
+ taskMode?: 'query' | 'execute';
174
+ }
175
+ export interface UiApprovalPendingReceipt {
176
+ receipt: ActionReceipt;
177
+ approvalId: string;
178
+ expiresAt: number;
179
+ }
180
+ export interface UiApprovalRequestReceiptResult {
181
+ receipt: ActionReceipt;
182
+ approval: {
183
+ approvalId: string;
184
+ expiresAt: number;
185
+ } | null;
186
+ }
187
+ export type ActionReceiptOutcome = 'succeeded' | 'rejected' | 'failed' | 'conflicted' | 'expired';
188
+ export interface ActionReceiptResultSummary {
189
+ readonly crewxResult?: {
190
+ readonly keys: readonly string[];
191
+ readonly bytes: number;
192
+ readonly sha256: string;
193
+ };
194
+ readonly crewxContent?: JsonObject;
195
+ }
196
+ export interface ActionReceipt {
197
+ id: string;
198
+ instanceId: string;
199
+ requestId: string;
200
+ actionId: string;
201
+ actor: UiActor;
202
+ source: 'cli' | 'ui_host' | 'system' | 'mcp';
203
+ expectedRevision: number;
204
+ beforeRevision: number;
205
+ afterRevision: number | null;
206
+ status: 'requested' | 'settled';
207
+ outcome: ActionReceiptOutcome | null;
208
+ input: JsonObject;
209
+ resultSummary: ActionReceiptResultSummary | null;
210
+ errorCode: string | null;
211
+ requestedAt: number;
212
+ settledAt: number | null;
213
+ }
214
+ export interface ActionExecutionReceipt extends ActionReceipt {
215
+ actionResult?: JsonObject;
216
+ }
217
+ export interface UiLocalGrantPolicy {
218
+ resolveInstanceGrants(input: {
219
+ definition: UiDefinitionRef;
220
+ workspaceId: string;
221
+ actor: Extract<UiActor, {
222
+ kind: 'local';
223
+ }>;
224
+ }): readonly string[];
225
+ resolveActionCapabilities(input: {
226
+ definition: UiDefinitionRef;
227
+ actionId: string;
228
+ }): readonly string[];
229
+ }
230
+ export interface UiActionHandlerContext {
231
+ instance: UiInstance;
232
+ actor: UiActor;
233
+ source: 'cli' | 'ui_host' | 'system' | 'mcp';
234
+ input: JsonObject;
235
+ requestId: string;
236
+ reservationNow?: number;
237
+ content?: {
238
+ readonly in?: ContentFrame;
239
+ readonly out?: {
240
+ readonly range?: UiContentRangeRequest;
241
+ };
242
+ };
243
+ schedule?: AppScheduleSnapshot;
244
+ }
245
+ export type UiActionHandlerResult = {
246
+ state?: JsonObject;
247
+ result?: JsonObject;
248
+ content?: ContentFrame;
249
+ schedule?: AppScheduleDirective;
250
+ } | {
251
+ outcome: 'rejected' | 'failed';
252
+ errorCode: string;
253
+ state?: JsonObject;
254
+ result?: JsonObject;
255
+ content?: ContentFrame;
256
+ };
257
+ export interface UiStateActionHandlerRegistration {
258
+ definitionId: string;
259
+ version: number;
260
+ actionId: string;
261
+ kind: 'state';
262
+ handle: (context: UiActionHandlerContext) => UiActionHandlerResult;
263
+ }
264
+ export interface UiExternalActionHandlerRegistration {
265
+ definitionId: string;
266
+ version: number;
267
+ actionId: string;
268
+ kind: 'external';
269
+ handle: (context: UiActionHandlerContext) => Promise<UiActionHandlerResult>;
270
+ }
271
+ export type UiActionHandlerRegistration = UiStateActionHandlerRegistration | UiExternalActionHandlerRegistration;
272
+ export interface UiRuntimeOptions {
273
+ dbPath?: string;
274
+ localActor: Extract<UiActor, {
275
+ kind: 'local';
276
+ }>;
277
+ localGrantPolicy?: UiLocalGrantPolicy;
278
+ definitions?: readonly UiDefinition[];
279
+ handlers?: readonly UiActionHandlerRegistration[];
280
+ clock?: () => number;
281
+ contentChannel?: UiContentChannelPort;
282
+ }
283
+ export interface UiRuntimeFacade {
284
+ resolveDefinition(ref: UiDefinitionRef): UiDefinition | null;
285
+ createInstance(input: CreateUiInstanceInput): Promise<UiInstance>;
286
+ dispatchAction(input: UiActionEnvelope, context: UiExecutionContext): Promise<ActionExecutionReceipt>;
287
+ getReceipt(instanceId: string, requestId: string): Promise<ActionReceipt | null>;
288
+ close(): void;
289
+ }
290
+ export interface UiAuthenticatedGrantPolicy {
291
+ resolveInstanceGrants(input: {
292
+ definition: UiDefinitionRef;
293
+ workspaceId: string;
294
+ actor: UiAuthenticatedActor;
295
+ }): readonly string[];
296
+ resolveDispatchCapabilities?(input: {
297
+ definition: UiDefinitionRef;
298
+ actionId: string;
299
+ actor: UiAuthenticatedActor;
300
+ source: 'ui_host' | 'system' | 'cli';
301
+ }): readonly string[];
302
+ }
303
+ export declare function resolveUiEffectiveCapabilities(declared: readonly string[], instanceGranted: readonly string[], dispatchGranted?: readonly string[]): readonly string[];
304
+ export interface UiServerRuntimeOptions {
305
+ workspaceId: string;
306
+ dbPath: string;
307
+ definitions: readonly UiDefinition[];
308
+ handlers: readonly UiActionHandlerRegistration[];
309
+ grantPolicy: UiAuthenticatedGrantPolicy;
310
+ verifiedBundles?: readonly import('../mcp-app/agent-access.js').McpAppVerifiedBundleAccessContext[];
311
+ clock?: () => number;
312
+ contentChannel?: UiContentChannelPort;
313
+ }
314
+ export interface UiServerRuntimeFacade {
315
+ resolveDefinition(ref: UiDefinitionRef): UiDefinition | null;
316
+ getInstance(instanceId: string, context: UiAuthenticatedExecutionContext): Promise<UiInstance | null>;
317
+ createInstance(input: CreateUiInstanceInput, context: UiAuthenticatedExecutionContext): Promise<UiInstance>;
318
+ dispatchAction(input: UiActionEnvelope, context: UiAuthenticatedExecutionContext | UiTaskExecutionContext): Promise<ActionExecutionReceipt>;
319
+ getReceipt(instanceId: string, requestId: string, context: UiAuthenticatedExecutionContext): Promise<ActionReceipt | null>;
320
+ createApprovalPendingReceipt(input: UiActionEnvelope, context: UiApprovalRequestContext, approval: {
321
+ approvalId: string;
322
+ expiresAt: number;
323
+ }): Promise<UiApprovalRequestReceiptResult>;
324
+ executeApprovalPending(input: UiActionEnvelope, receiptId: string, provenance: UiApprovalDecisionProvenance): Promise<ActionExecutionReceipt>;
325
+ settleApprovalPending(receiptId: string, outcome: 'rejected' | 'expired' | 'conflicted', provenance: UiApprovalDecisionProvenance): Promise<ActionReceipt | null>;
326
+ listApprovalPendingReceipts(): Promise<UiApprovalPendingReceipt[]>;
327
+ close(): void;
328
+ }
329
+ export interface UiAgentContextProjection {
330
+ instanceId: string;
331
+ definition: UiDefinitionRef;
332
+ revision: number;
333
+ facts: JsonObject;
334
+ recentChanges: readonly JsonObject[];
335
+ pendingDecision: JsonObject | null;
336
+ availableActions: readonly string[];
337
+ }
@@ -0,0 +1,50 @@
1
+ export declare const APP_ICON_MAX_BYTES = 262144;
2
+ export type AppIconContentType = 'image/svg+xml' | 'image/png' | 'image/jpeg';
3
+ export type AppIconReason = 'missing' | 'bad-path' | 'bad-type' | 'bytes-mismatch' | 'too-large' | 'unsafe-svg';
4
+ export interface AppIconDiagnostic {
5
+ readonly code: 'ICON_INVALID' | 'ICON_NOT_FILE' | 'ICON_NOT_SQUARE';
6
+ readonly severity: 'error' | 'warning';
7
+ readonly reason?: AppIconReason;
8
+ readonly declared?: string;
9
+ }
10
+ export interface AppIconFileBytes {
11
+ readonly path: string;
12
+ readonly contentType: AppIconContentType;
13
+ readonly byteLength: number;
14
+ readonly bytes: Uint8Array;
15
+ }
16
+ export interface AppIconFile {
17
+ readonly path: string;
18
+ readonly sha256: string;
19
+ readonly contentType: AppIconContentType;
20
+ readonly byteLength: number;
21
+ }
22
+ export type AppIconDeclaration = {
23
+ readonly kind: 'none';
24
+ } | {
25
+ readonly kind: 'file';
26
+ readonly path: string;
27
+ readonly contentType: AppIconContentType;
28
+ } | {
29
+ readonly kind: 'url';
30
+ readonly declared: string;
31
+ } | {
32
+ readonly kind: 'invalid';
33
+ readonly reason: 'bad-path' | 'bad-type';
34
+ readonly declared?: string;
35
+ };
36
+ export type AppIconReadFailure = 'missing' | 'bad-path' | 'too-large';
37
+ export interface ResolvedAppIcon {
38
+ readonly file?: AppIconFileBytes;
39
+ readonly diagnostics: readonly AppIconDiagnostic[];
40
+ }
41
+ export declare function classifyAppIconDeclaration(value: unknown): AppIconDeclaration;
42
+ export declare function resolveAppIcon(value: unknown, read: (path: string) => Promise<Uint8Array | AppIconReadFailure>): Promise<ResolvedAppIcon>;
43
+ export type AppIconInspection = {
44
+ readonly ok: true;
45
+ readonly square: boolean | undefined;
46
+ } | {
47
+ readonly ok: false;
48
+ readonly reason: AppIconReason;
49
+ };
50
+ export declare function inspectAppIconBytes(contentType: AppIconContentType, bytes: Uint8Array): AppIconInspection;
@@ -0,0 +1,64 @@
1
+ import type { JsonValue } from '../ui-instance/types.js';
2
+ import { APP_TOOLS_FILE } from '../app/tool-mode.js';
3
+ import type { UiPluginManifestMode, UiPluginManifestV2, UiPluginValidationErrorCode } from './types.js';
4
+ export declare const APP_MANIFEST_FILE = "manifest.json";
5
+ export declare const LEGACY_APP_MANIFEST_FILE = "ui-plugin.json";
6
+ export declare const APP_MANIFEST_FILES: readonly ["manifest.json", "ui-plugin.json"];
7
+ export type AppManifestFileName = (typeof APP_MANIFEST_FILES)[number];
8
+ export { APP_TOOLS_FILE };
9
+ export type AppToolsFileName = typeof APP_TOOLS_FILE;
10
+ export declare const MCPB_MANIFEST_VERSION = "0.3";
11
+ export declare const CREWX_META_NAMESPACE = "dev.crewx";
12
+ export declare const MCPB_MANIFEST_KEYS: readonly ["manifest_version", "name", "display_name", "version", "description", "long_description", "author", "repository", "homepage", "documentation", "support", "icon", "icons", "screenshots", "localization", "server", "tools", "tools_generated", "prompts", "prompts_generated", "keywords", "license", "privacy_policies", "compatibility", "user_config", "_meta"];
13
+ export declare const APP_MANIFEST_REQUIRED_KEYS: readonly ["manifest_version", "name", "display_name", "version", "description", "_meta"];
14
+ export declare const APP_MANIFEST_PASSTHROUGH_KEYS: readonly ("name" | "description" | "server" | "tools" | "version" | "_meta" | "icon" | "manifest_version" | "display_name" | "long_description" | "author" | "repository" | "homepage" | "documentation" | "support" | "icons" | "screenshots" | "localization" | "tools_generated" | "prompts" | "prompts_generated" | "keywords" | "license" | "privacy_policies" | "compatibility" | "user_config")[];
15
+ export declare const CREWX_META_REQUIRED_KEYS: readonly ["entry", "surfaces", "size", "stateProjection", "actions"];
16
+ export declare const CREWX_META_OPTIONAL_KEYS: readonly ["definitionId", "definitionVersion", "icon", "tone", "entryHash", "runtime", "initialState", "usage", "detailPanel", "displayModes", "summaryProjection", "dataPaths", "focusedAiDataPaths", "csp"];
17
+ export declare function isAppSemver(value: unknown): value is string;
18
+ export interface AppManifestReason {
19
+ readonly path: string;
20
+ readonly rule: string;
21
+ readonly message?: string;
22
+ readonly file?: AppManifestFileName | AppToolsFileName;
23
+ }
24
+ export type AppManifestRejectionCode = UiPluginValidationErrorCode | 'MANIFEST_DUAL_MISMATCH';
25
+ export interface AppManifestRejection {
26
+ readonly code: AppManifestRejectionCode;
27
+ readonly reason: AppManifestReason;
28
+ readonly files: readonly AppManifestFileName[];
29
+ }
30
+ export interface AppManifestIdentity {
31
+ readonly pluginId: string;
32
+ readonly definitionId?: string;
33
+ readonly definitionVersion?: number;
34
+ }
35
+ export interface AppManifestFileResult {
36
+ readonly file: AppManifestFileName;
37
+ readonly manifest: UiPluginManifestV2;
38
+ readonly v2Input: Readonly<Record<string, unknown>>;
39
+ readonly releaseVersion?: string;
40
+ readonly mcpb?: Readonly<Record<string, JsonValue>>;
41
+ }
42
+ export interface AppManifestSource extends AppManifestFileResult {
43
+ readonly ok: true;
44
+ readonly identity: AppManifestIdentity;
45
+ readonly files: readonly AppManifestFileName[];
46
+ }
47
+ export interface AppManifestFailure {
48
+ readonly ok: false;
49
+ readonly rejection: AppManifestRejection;
50
+ readonly parseFailure: boolean;
51
+ readonly identity?: AppManifestIdentity;
52
+ readonly builtinOnly: boolean;
53
+ }
54
+ export type AppManifestResult = AppManifestSource | AppManifestFailure;
55
+ export interface AppManifestOptions {
56
+ readonly mode?: UiPluginManifestMode;
57
+ readonly maxBytes?: number;
58
+ }
59
+ export type AppManifestFileBytes = Partial<Record<AppManifestFileName, Uint8Array>> & {
60
+ [APP_TOOLS_FILE]?: Uint8Array;
61
+ };
62
+ export declare function claimsCrewxNamespace(bytes: Uint8Array): boolean;
63
+ export declare function appManifestDefinitionHash(manifest: UiPluginManifestV2): string;
64
+ export declare function resolveAppManifest(files: AppManifestFileBytes, options?: AppManifestOptions): AppManifestResult;
@@ -0,0 +1,28 @@
1
+ export interface UiPluginCspInput {
2
+ readonly connectDomains?: readonly string[];
3
+ readonly frameDomains?: readonly string[];
4
+ readonly resourceDomains?: readonly string[];
5
+ readonly baseUriDomains?: readonly string[];
6
+ }
7
+ export type UiPluginCspNormalizationErrorCode = 'CSP_AXIS_UNSUPPORTED' | 'CSP_AXIS_UNKNOWN' | 'CSP_LIMIT_EXCEEDED' | 'CSP_ORIGIN_INVALID' | 'CSP_ORIGIN_FORBIDDEN';
8
+ export interface NormalizedUiPluginCsp {
9
+ readonly declared: boolean;
10
+ readonly connectDomains: readonly string[];
11
+ readonly frameDomains: readonly string[];
12
+ readonly resourceDomains: readonly [];
13
+ readonly baseUriDomains: readonly [];
14
+ readonly cspHash: string;
15
+ }
16
+ export interface UiPluginCspNormalizeOptions {
17
+ readonly runtimeHostnames?: readonly string[];
18
+ }
19
+ export interface UiPluginPolicyRuntime {
20
+ readonly wasm?: boolean;
21
+ }
22
+ export interface UiPluginPolicyHashInput {
23
+ readonly runtime?: UiPluginPolicyRuntime;
24
+ readonly cspHash: string;
25
+ readonly policySchema: number;
26
+ }
27
+ export declare function normalizeUiPluginCsp(input: UiPluginCspInput | undefined, options?: UiPluginCspNormalizeOptions): NormalizedUiPluginCsp;
28
+ export declare function policyHash(input: UiPluginPolicyHashInput): string;
@@ -0,0 +1,8 @@
1
+ export { canonicalManifestJson, manifestHash } from './manifest.js';
2
+ export { APP_MANIFEST_FILE, APP_MANIFEST_FILES, APP_MANIFEST_PASSTHROUGH_KEYS, APP_MANIFEST_REQUIRED_KEYS, CREWX_META_NAMESPACE, CREWX_META_OPTIONAL_KEYS, CREWX_META_REQUIRED_KEYS, LEGACY_APP_MANIFEST_FILE, MCPB_MANIFEST_KEYS, MCPB_MANIFEST_VERSION, appManifestDefinitionHash, APP_TOOLS_FILE, claimsCrewxNamespace, isAppSemver, resolveAppManifest, } from './app-manifest.js';
3
+ export type { AppManifestFailure, AppManifestFileBytes, AppManifestFileName, AppManifestFileResult, AppManifestIdentity, AppManifestOptions, AppManifestReason, AppManifestRejection, AppManifestRejectionCode, AppManifestResult, AppManifestSource, AppToolsFileName, } from './app-manifest.js';
4
+ export { APP_ICON_MAX_BYTES, classifyAppIconDeclaration, inspectAppIconBytes, resolveAppIcon, } from './app-icon.js';
5
+ export type { AppIconContentType, AppIconDeclaration, AppIconDiagnostic, AppIconFile, AppIconFileBytes, AppIconInspection, AppIconReadFailure, AppIconReason, ResolvedAppIcon, } from './app-icon.js';
6
+ export { UiPluginValidationError, normalizeManifest, validateInitialState, validateManifest, validatePayload, } from './validator.js';
7
+ export { UI_PLUGIN_CAPABILITY_PATTERN, UI_PLUGIN_HANDLER_PATTERN, UI_PLUGIN_IDENTIFIER_PATTERN, UI_PLUGIN_MAX_ACTIONS, UI_PLUGIN_MAX_ARRAY_LENGTH, UI_PLUGIN_MAX_CANDIDATE_DEPTH, UI_PLUGIN_MAX_COMMAND_LENGTH, UI_PLUGIN_MAX_COMMAND_PARTS, UI_PLUGIN_MAX_DISCOVERED_APPS, UI_PLUGIN_MAX_DISCOVERY_TIME_MS, UI_PLUGIN_MAX_HEIGHT, UI_PLUGIN_MAX_INITIAL_STATE_BYTES, UI_PLUGIN_MAX_JSON_DEPTH, UI_PLUGIN_MAX_MANIFEST_BYTES, UI_PLUGIN_MAX_PROJECTION_PATHS, UI_PLUGIN_MAX_SCHEMA_DEPTH, UI_PLUGIN_MAX_SCHEMA_PROPERTIES, UI_PLUGIN_MAX_STRING_LENGTH, UI_PLUGIN_MAX_SUBTREE_BYTES, UI_PLUGIN_MAX_SURFACES, UI_PLUGIN_RESERVED_STATE_KEYS, UI_PLUGIN_SAFE_PATH_PATTERN, UI_PLUGIN_SAFE_PATH_SEGMENT_PATTERN, UI_PLUGIN_SKILL_TOKEN_PATTERN, UI_PLUGIN_SURFACES, UI_PLUGIN_TONES, isUiPluginReservedStateKey, } from './limits.js';
8
+ export type { UiPluginActivation, UiPluginAction, UiPluginBackend, UiPluginCardShellNode, UiPluginCoreBackend, UiPluginFieldSchema, UiPluginHeadingNode, UiPluginInputSchema, UiPluginJsonSchema, UiPluginJsonSchemaType, UiPluginLabeledTextNode, UiPluginLayoutNode, UiPluginLayout, UiPluginManifest, UiPluginManifestMode, UiPluginManifestV1, UiPluginManifestV2, UiPluginCspRequest, UiPluginRuntimeRequest, UiPluginMetaBannerNode, UiPluginNormalizedManifestV2, UiPluginNormalizedV2, UiPluginPayload, UiPluginPayloadValue, UiPluginPrimitive, UiPluginProjectionPolicy, UiPluginResourceMetadata, UiPluginResourceRef, UiPluginSchemaType, UiPluginSchema, UiPluginSize, UiPluginSkillBackend, UiPluginStep, UiPluginStepFlowNode, UiPluginStepListSchema, UiPluginTextListNode, UiPluginTextListSchema, UiPluginTextSchema, UiPluginSurface, UiPluginTone, UiPluginHandlerMetadata, UiPluginValidationErrorCode, UiPluginValidationOptions, } from './types.js';
@@ -0,0 +1,27 @@
1
+ export declare const UI_PLUGIN_MAX_STRING_LENGTH = 4096;
2
+ export declare const UI_PLUGIN_MAX_ARRAY_LENGTH = 128;
3
+ export declare const UI_PLUGIN_MAX_SUBTREE_BYTES = 2097152;
4
+ export declare const UI_PLUGIN_MAX_INITIAL_STATE_BYTES = 2097152;
5
+ export declare const UI_PLUGIN_MAX_JSON_DEPTH = 8;
6
+ export declare const UI_PLUGIN_MAX_SCHEMA_DEPTH = 8;
7
+ export declare const UI_PLUGIN_MAX_SCHEMA_PROPERTIES = 64;
8
+ export declare const UI_PLUGIN_MAX_ACTIONS = 32;
9
+ export declare const UI_PLUGIN_MAX_SURFACES = 2;
10
+ export declare const UI_PLUGIN_MAX_PROJECTION_PATHS = 128;
11
+ export declare const UI_PLUGIN_MAX_COMMAND_PARTS = 16;
12
+ export declare const UI_PLUGIN_MAX_COMMAND_LENGTH = 256;
13
+ export declare const UI_PLUGIN_MAX_HEIGHT = 720;
14
+ export declare const UI_PLUGIN_MAX_DISCOVERED_APPS = 64;
15
+ export declare const UI_PLUGIN_MAX_MANIFEST_BYTES: number;
16
+ export declare const UI_PLUGIN_MAX_CANDIDATE_DEPTH = 2;
17
+ export declare const UI_PLUGIN_MAX_DISCOVERY_TIME_MS = 5000;
18
+ export declare const UI_PLUGIN_RESERVED_STATE_KEYS: readonly ["__proto__", "prototype", "constructor", "proof", "token", "secret", "password", "cookie", "authorization", "private_key", "private-key", "stack", "exception", "plugin_text", "url", "uri", "endpoint", "path", "filename", "filepath", "cwd", "shell", "directory", "dir", "folder"];
19
+ export declare function isUiPluginReservedStateKey(key: string): boolean;
20
+ export declare const UI_PLUGIN_SAFE_PATH_SEGMENT_PATTERN: RegExp;
21
+ export declare const UI_PLUGIN_SAFE_PATH_PATTERN: RegExp;
22
+ export declare const UI_PLUGIN_IDENTIFIER_PATTERN: RegExp;
23
+ export declare const UI_PLUGIN_CAPABILITY_PATTERN: RegExp;
24
+ export declare const UI_PLUGIN_HANDLER_PATTERN: RegExp;
25
+ export declare const UI_PLUGIN_SKILL_TOKEN_PATTERN: RegExp;
26
+ export declare const UI_PLUGIN_TONES: readonly ["blue", "violet", "emerald", "amber", "rose", "sky", "slate", "indigo"];
27
+ export declare const UI_PLUGIN_SURFACES: readonly ["inline", "panel"];
@@ -0,0 +1,3 @@
1
+ import type { UiPluginManifest } from './types.js';
2
+ export declare function canonicalManifestJson(manifest: UiPluginManifest): string;
3
+ export declare function manifestHash(manifest: UiPluginManifest): string;