@prismer/sdk 2.0.6 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -258,6 +258,13 @@ interface PrismerConfig {
258
258
  fetch?: typeof fetch;
259
259
  /** Default X-IM-Agent header for IM requests (select which agent identity to use) */
260
260
  imAgent?: string;
261
+ /**
262
+ * Default X-IM-Workspace header for IM requests (release202/09 §3.6 B).
263
+ * Lets the cloud agent-proxy reach its workspace-scoped fallback when the
264
+ * owner `userId`/`numericId` bridge can't resolve the agent. Optional —
265
+ * absent header preserves legacy behavior.
266
+ */
267
+ imWorkspace?: string;
261
268
  /** Enable offline-first mode for IM with local persistence and sync */
262
269
  offline?: OfflineConfig;
263
270
  /**
@@ -1005,6 +1012,8 @@ interface IMCreateTaskOptions {
1005
1012
  metadata?: Record<string, unknown>;
1006
1013
  /** v1.9.x: workspace scope. Defaults to caller's default workspace. */
1007
1014
  workspaceId?: string;
1015
+ /** release201/09 Phase 2: scope task to a project. null = workspace-level. */
1016
+ projectId?: string | null;
1008
1017
  /** v1.9.x: link task to a conversation thread. */
1009
1018
  conversationId?: string;
1010
1019
  /** v1.9.x: pick the executor — `agent` (default), `sandbox`, or `shell`. */
@@ -1033,6 +1042,8 @@ interface IMTaskListOptions {
1033
1042
  cursor?: string;
1034
1043
  /** v1.9.x: filter by workspace. */
1035
1044
  workspaceId?: string;
1045
+ /** release201/09 Phase 2: project filter. Use '__unscoped' for NULL projectId. */
1046
+ projectId?: string;
1036
1047
  /** v1.9.x: filter by conversation. */
1037
1048
  conversationId?: string;
1038
1049
  }
@@ -1078,6 +1089,10 @@ interface IMTask {
1078
1089
  retryDelayMs: number;
1079
1090
  retryCount: number;
1080
1091
  metadata: Record<string, unknown>;
1092
+ /** Workspace (1.9.x); null on legacy rows pre-workspace-scope. */
1093
+ workspaceId?: string | null;
1094
+ /** release201/09 Phase 2 — project scope. NULL = workspace-level. */
1095
+ projectId?: string | null;
1081
1096
  createdAt: string;
1082
1097
  updatedAt: string;
1083
1098
  }
@@ -1862,6 +1877,13 @@ type RuntimePhase = 'provisioning' | 'online' | 'degraded' | 'stopped' | 'failed
1862
1877
  interface IMRuntimeInstallation {
1863
1878
  id: string;
1864
1879
  workspaceId: string;
1880
+ /**
1881
+ * v2.0.8 M448 (release201/20 §1) — optional project scope. `null` means the
1882
+ * installation is workspace-level (default + every pre-M448 row). When set,
1883
+ * narrows UI scope filters / Insights aggregation; daemon dispatch routing
1884
+ * is unaffected (per-agent — see 09 §9.9).
1885
+ */
1886
+ projectId?: string | null;
1865
1887
  runtimeInstanceId: string;
1866
1888
  daemonId: string;
1867
1889
  podName: string;
@@ -1912,6 +1934,20 @@ interface IMCreateRuntimeInstallationOptions {
1912
1934
  cpuLimit?: string;
1913
1935
  memoryRequest?: string;
1914
1936
  memoryLimit?: string;
1937
+ /**
1938
+ * v2.0.8 M448 (release201/20 §1) — opt-in project scope. Must reference an
1939
+ * `active` project in the same workspace; omitting yields a workspace-level
1940
+ * installation (backward-compatible default).
1941
+ */
1942
+ projectId?: string;
1943
+ }
1944
+ /**
1945
+ * v2.0.8 M448 (release201/20 §1) — PATCH body for updating an existing
1946
+ * runtime installation's project binding. The only mutable field today.
1947
+ * Pass `null` to detach the installation from its current project.
1948
+ */
1949
+ interface IMPatchRuntimeInstallationOptions {
1950
+ projectId?: string | null;
1915
1951
  }
1916
1952
  interface IMInstallAgentOnRuntimeOptions {
1917
1953
  agentImUserId: string;
@@ -2820,6 +2856,19 @@ interface AssetDispatchObservation {
2820
2856
  inlinedBytes?: number;
2821
2857
  error?: string;
2822
2858
  }
2859
+ /**
2860
+ * P1-2 (2026-05-25): per-file outbox rejection record emitted by daemon when
2861
+ * outbox-watcher quarantines an artifact (MIME ≠ filename extension). Cloud
2862
+ * persists these on `IMTask.metadata.outboxRejections` and re-injects into
2863
+ * the next dispatch prompt as agent-visible feedback.
2864
+ */
2865
+ interface OutboxRejectionRecord {
2866
+ filename: string;
2867
+ reason: string;
2868
+ inferredMime: string;
2869
+ detectedMime: string;
2870
+ rejectedAt: string;
2871
+ }
2823
2872
  interface TaskDispatchReplyPayload {
2824
2873
  taskId: string;
2825
2874
  ok: boolean;
@@ -2835,6 +2884,11 @@ interface TaskDispatchReplyPayload {
2835
2884
  };
2836
2885
  /** Wave-8 W1: per-asset handling report. */
2837
2886
  assetObservability?: AssetDispatchObservation[];
2887
+ /**
2888
+ * P1-2: files quarantined by daemon outbox-watcher's magic-bytes guard
2889
+ * during this turn. Empty/absent when nothing was rejected.
2890
+ */
2891
+ outboxRejections?: OutboxRejectionRecord[];
2838
2892
  }
2839
2893
  interface TaskCancelPayload {
2840
2894
  taskId: string;
@@ -3779,6 +3833,8 @@ declare class TasksClient {
3779
3833
  getRunResult(runId: string): Promise<IMResult<IMTaskResult>>;
3780
3834
  /** Update a task */
3781
3835
  update(taskId: string, options: IMUpdateTaskOptions): Promise<IMResult<IMTask>>;
3836
+ /** Move a task into a project, or pass null to return it to workspace-level. */
3837
+ moveProject(taskId: string, targetProjectId: string | null): Promise<IMResult<IMTask>>;
3782
3838
  /** Claim a pending task */
3783
3839
  claim(taskId: string): Promise<IMResult<IMTask>>;
3784
3840
  /** Report progress on a task */
@@ -3827,6 +3883,85 @@ declare class TasksClient {
3827
3883
  to: 'pending' | 'assigned' | 'running' | 'review' | 'blocked' | 'failed' | 'completed' | 'cancelled';
3828
3884
  reason: string;
3829
3885
  }): Promise<IMResult<IMTask>>;
3886
+ /** Get rolled-up acceptance + criteria list for a task. */
3887
+ getAcceptance(taskId: string): Promise<IMResult<unknown>>;
3888
+ /** Copy a template's criteria onto the task. */
3889
+ applyTemplate(taskId: string, templateId: string): Promise<IMResult<unknown>>;
3890
+ readonly spec: {
3891
+ /** Read SPEC.md latest revision. */
3892
+ get: (taskId: string) => Promise<IMResult<unknown>>;
3893
+ /** Owner sets/updates SPEC.md (writes a new revision). */
3894
+ set: (taskId: string, input: {
3895
+ markdown: string;
3896
+ }) => Promise<IMResult<unknown>>;
3897
+ };
3898
+ readonly todo: {
3899
+ list: (taskId: string) => Promise<IMResult<unknown>>;
3900
+ add: (taskId: string, input: {
3901
+ text: string;
3902
+ depth?: number;
3903
+ }) => Promise<IMResult<unknown>>;
3904
+ toggle: (taskId: string, index: number, done?: boolean) => Promise<IMResult<unknown>>;
3905
+ setText: (taskId: string, index: number, text: string) => Promise<IMResult<unknown>>;
3906
+ remove: (taskId: string, index: number) => Promise<IMResult<unknown>>;
3907
+ };
3908
+ readonly criteria: {
3909
+ /** List current criteria via the acceptance view. */
3910
+ list: (taskId: string) => Promise<IMResult<unknown>>;
3911
+ /** Add a criterion (rev 2 — verifyMode + expectation + verifierAgentId). */
3912
+ add: (taskId: string, input: {
3913
+ verifyMode: "qualitative" | "quantitative" | "agent-self-check" | "manual";
3914
+ expectation: string;
3915
+ verifierAgentId?: string | null;
3916
+ required?: boolean;
3917
+ weight?: number;
3918
+ evidenceRefs?: unknown[];
3919
+ }) => Promise<IMResult<unknown>>;
3920
+ /** Update a criterion in place. */
3921
+ update: (taskId: string, cid: string, patch: {
3922
+ expectation?: string;
3923
+ verifyMode?: "qualitative" | "quantitative" | "agent-self-check" | "manual";
3924
+ verifierAgentId?: string | null;
3925
+ weight?: number;
3926
+ required?: boolean;
3927
+ evidenceRefs?: unknown[];
3928
+ }) => Promise<IMResult<unknown>>;
3929
+ /** Remove a criterion. */
3930
+ remove: (taskId: string, cid: string) => Promise<IMResult<unknown>>;
3931
+ /**
3932
+ * Unified verify entry (rev 2). Manual reviewer, agent-self-check
3933
+ * report, AND verifier-agent report all use this — cloud routes by
3934
+ * actor identity.
3935
+ */
3936
+ verify: (taskId: string, cid: string, input: {
3937
+ outcome: "passed" | "failed" | "n/a" | "waived";
3938
+ note?: string;
3939
+ evidenceRefs?: string[];
3940
+ waiveReason?: string;
3941
+ }) => Promise<IMResult<unknown>>;
3942
+ };
3943
+ }
3944
+ /**
3945
+ * release201/10 — Criteria template store CRUD (workspace + global).
3946
+ */
3947
+ declare class CriteriaTemplatesClient {
3948
+ private _r;
3949
+ constructor(_r: RequestFn);
3950
+ list(query?: {
3951
+ capability?: string;
3952
+ workspaceId?: string | null;
3953
+ }): Promise<IMResult<unknown[]>>;
3954
+ get(id: string): Promise<IMResult<unknown>>;
3955
+ create(input: {
3956
+ workspaceId?: string | null;
3957
+ capability: string;
3958
+ name: string;
3959
+ description?: string;
3960
+ criteria: unknown[];
3961
+ isDefault?: boolean;
3962
+ }): Promise<IMResult<unknown>>;
3963
+ update(id: string, patch: Record<string, unknown>): Promise<IMResult<unknown>>;
3964
+ delete(id: string): Promise<IMResult<unknown>>;
3830
3965
  }
3831
3966
  /** Memory management: files, compaction, session load */
3832
3967
  declare class MemoryClient {
@@ -3871,6 +4006,73 @@ declare class KnowledgeLinkClient {
3871
4006
  */
3872
4007
  getLinks(entityType: KnowledgeLinkSource, entityId: string): Promise<IMResult<IMKnowledgeLink[]>>;
3873
4008
  }
4009
+ type MetricAgg = 'sum' | 'count' | 'avg' | 'min' | 'max' | 'p50' | 'p95' | 'p99';
4010
+ type MetricBucket = '5m' | '1h' | '1d';
4011
+ interface MetricEmitInput {
4012
+ namespace: string;
4013
+ name: string;
4014
+ ts?: string;
4015
+ value?: number | string | null;
4016
+ /** workspaceId is required by the server; other dims are free-form. */
4017
+ dims: Record<string, string | number | boolean | null | undefined> & {
4018
+ workspaceId: string;
4019
+ };
4020
+ }
4021
+ interface MetricAggregateOptions {
4022
+ namespace: string;
4023
+ name: string;
4024
+ agg: MetricAgg;
4025
+ /** workspaceId is required; service rejects queries without it. */
4026
+ filter: Record<string, string> & {
4027
+ workspaceId: string;
4028
+ };
4029
+ range?: string;
4030
+ from?: string;
4031
+ to?: string;
4032
+ groupBy?: string[];
4033
+ bucket?: MetricBucket;
4034
+ }
4035
+ interface MetricBucketResult {
4036
+ ts: string | null;
4037
+ groups: Array<{
4038
+ groupKey: Record<string, string | null>;
4039
+ value: number | null;
4040
+ }>;
4041
+ }
4042
+ interface MetricAggregateResponse {
4043
+ namespace: string;
4044
+ name: string;
4045
+ agg: MetricAgg;
4046
+ range: {
4047
+ from: string;
4048
+ to: string;
4049
+ };
4050
+ buckets: MetricBucketResult[];
4051
+ }
4052
+ /**
4053
+ * release201/11 §6 — unified metric data channel.
4054
+ *
4055
+ * - `emit()` queues a single event on the cloud-side MetricService.
4056
+ * - `batch()` ships an array of events (≤ 500) — used by daemon outbox flush
4057
+ * in Phase 2.
4058
+ * - `aggregate()` runs a server-side query against `im_metric_events`.
4059
+ */
4060
+ declare class MetricsClient {
4061
+ private _r;
4062
+ constructor(_r: RequestFn);
4063
+ emit(input: MetricEmitInput): Promise<IMResult<{
4064
+ queued: boolean;
4065
+ }>>;
4066
+ batch(events: MetricEmitInput[]): Promise<IMResult<{
4067
+ accepted: number;
4068
+ rejected: number;
4069
+ errors: Array<{
4070
+ index: number;
4071
+ error: string;
4072
+ }>;
4073
+ }>>;
4074
+ aggregate(opts: MetricAggregateOptions): Promise<IMResult<MetricAggregateResponse>>;
4075
+ }
3874
4076
  /** Identity key management: Ed25519 keys, attestation, audit */
3875
4077
  declare class IdentityClient {
3876
4078
  private _r;
@@ -3975,8 +4177,45 @@ declare class EvolutionSkillsClient {
3975
4177
  }>>;
3976
4178
  }
3977
4179
  /** Agent 4-tuple lifecycle: spec, snapshots, publish, and fork. */
4180
+ /**
4181
+ * release201/13 §3.4 + §11 13-P2 — Per-agent skill management sub-client.
4182
+ * Surfaces install / uninstall / list / config-update against
4183
+ * `/api/im/agents/:agentId/skills/...`.
4184
+ */
4185
+ declare class AgentSkillsClient {
4186
+ private _r;
4187
+ constructor(_r: RequestFn);
4188
+ /** List skills installed on the agent. */
4189
+ list(agentId: string, options?: {
4190
+ workspaceId?: string;
4191
+ includeInactive?: boolean;
4192
+ }): Promise<IMResult<unknown[]>>;
4193
+ /** Install a published skill onto the agent. */
4194
+ install(agentId: string, input: {
4195
+ skillId?: string;
4196
+ slug?: string;
4197
+ workspaceId?: string;
4198
+ config?: Record<string, unknown>;
4199
+ version?: string;
4200
+ }): Promise<IMResult<unknown>>;
4201
+ /** Uninstall (or disable, for built-ins) a skill from the agent. */
4202
+ uninstall(agentId: string, skillIdOrSlug: string, options?: {
4203
+ workspaceId?: string;
4204
+ }): Promise<IMResult<unknown>>;
4205
+ /**
4206
+ * PATCH /api/im/agents/:agentId/skills/:skillId — Update per-skill config.
4207
+ *
4208
+ * Validates against the skill's `executableJson.configSchema` server-side
4209
+ * (release201/13 §3.4 / 07 §2.6). Returns the updated agentSkill row;
4210
+ * `installedRevision` will be null until the next daemon sync poll.
4211
+ */
4212
+ updateConfig(agentId: string, skillId: string, config: Record<string, unknown>, options?: {
4213
+ workspaceId?: string;
4214
+ }): Promise<IMResult<unknown>>;
4215
+ }
3978
4216
  declare class AgentsClient {
3979
4217
  private _r;
4218
+ readonly skills: AgentSkillsClient;
3980
4219
  constructor(_r: RequestFn);
3981
4220
  spec(agentId: string, workspaceId?: string): Promise<IMResult<IMAgentSpec>>;
3982
4221
  snapshot(agentId: string, options?: IMAgentSnapshotOptions): Promise<IMResult<IMAgentSnapshot>>;
@@ -4002,6 +4241,148 @@ declare class AgentsClient {
4002
4241
  deleted: boolean;
4003
4242
  packageId: string;
4004
4243
  }>>;
4244
+ pause(agentId: string): Promise<IMResult<{
4245
+ agentImUserId: string;
4246
+ pausedAt: string;
4247
+ alreadyPaused: boolean;
4248
+ }>>;
4249
+ resume(agentId: string): Promise<IMResult<{
4250
+ agentImUserId: string;
4251
+ resumed: boolean;
4252
+ }>>;
4253
+ transfer(input: {
4254
+ agentId: string;
4255
+ fromDaemonId: string;
4256
+ toDaemonId: string;
4257
+ manifestSha256: string;
4258
+ }): Promise<IMResult<{
4259
+ agentImUserId: string;
4260
+ previousDaemonId: string;
4261
+ boundDaemonId: string;
4262
+ boundDaemonKind: string;
4263
+ boundDaemonLabel: string;
4264
+ boundBy: string;
4265
+ boundAt: string;
4266
+ manifestSha256: string;
4267
+ }>>;
4268
+ }
4269
+ interface IMStudioOverview {
4270
+ workspaceId: string | null;
4271
+ counts: {
4272
+ drafts: number;
4273
+ inEval: number;
4274
+ pendingReview: number;
4275
+ publishedThisWeek: number;
4276
+ };
4277
+ recentLifecycle: Array<{
4278
+ skillId: string;
4279
+ slug: string;
4280
+ name: string;
4281
+ status: string;
4282
+ updatedAt: string;
4283
+ }>;
4284
+ recentActivity: Array<{
4285
+ type: string;
4286
+ skillSlug?: string;
4287
+ timestamp: string;
4288
+ summary: string;
4289
+ }>;
4290
+ }
4291
+ interface IMStudioAgentSummary {
4292
+ agentId: string;
4293
+ username: string;
4294
+ displayName: string;
4295
+ agentType: string;
4296
+ status: string;
4297
+ workspaceId: string | null;
4298
+ capabilities: string[];
4299
+ }
4300
+ interface IMStudioInstalledSkill {
4301
+ skillId: string;
4302
+ slug: string;
4303
+ name: string;
4304
+ version: string | null;
4305
+ status: string;
4306
+ installedAt: string;
4307
+ lastInvokedAt: string | null;
4308
+ fromGene: boolean;
4309
+ }
4310
+ interface IMStudioInstalled {
4311
+ workspaceId: string | null;
4312
+ agents: IMStudioAgentSummary[];
4313
+ activeAgentId: string | null;
4314
+ skills: IMStudioInstalledSkill[];
4315
+ }
4316
+ interface IMStudioProfile {
4317
+ agentId: string | null;
4318
+ identity: {
4319
+ agentName: string;
4320
+ displayName: string;
4321
+ agentType: string;
4322
+ did: string | null;
4323
+ capabilities: string[];
4324
+ status: string;
4325
+ } | null;
4326
+ personality: {
4327
+ rigor: number;
4328
+ creativity: number;
4329
+ risk_tolerance: number;
4330
+ soul: string | null;
4331
+ } | null;
4332
+ credits: {
4333
+ balance: number;
4334
+ totalSpent: number;
4335
+ totalEarned: number;
4336
+ } | null;
4337
+ workspaces: Array<{
4338
+ workspaceId: string;
4339
+ name: string;
4340
+ }>;
4341
+ }
4342
+ /**
4343
+ * Studio Evolution sub-client (release201/13 §3.6 + §11 13-P3).
4344
+ *
4345
+ * Workspace-owner-scoped capsule + gene listing for any agent the caller can
4346
+ * inspect (own agent, workspace owner / admin / member). Does NOT reuse
4347
+ * `/api/im/evolution/capsules` (which is auth-user-scoped). See §0.2.4
4348
+ * forbidden-pattern: "user-scoped endpoint accessed by workspace-owner".
4349
+ */
4350
+ declare class StudioEvolutionClient {
4351
+ private _r;
4352
+ constructor(_r: RequestFn);
4353
+ /** List capsules emitted by the target agent (workspace-owner-scoped). */
4354
+ capsules(agentId: string, options?: {
4355
+ page?: number;
4356
+ limit?: number;
4357
+ scope?: string;
4358
+ }): Promise<IMResult<{
4359
+ capsules: unknown[];
4360
+ total: number;
4361
+ page: number;
4362
+ limit: number;
4363
+ agentId: string;
4364
+ }>>;
4365
+ /** List genes owned by the target agent (workspace-owner-scoped). */
4366
+ genes(agentId: string, options?: {
4367
+ signals?: string;
4368
+ }): Promise<IMResult<{
4369
+ genes: unknown[];
4370
+ agentId: string;
4371
+ }>>;
4372
+ }
4373
+ declare class StudioClient {
4374
+ private _r;
4375
+ readonly evolution: StudioEvolutionClient;
4376
+ constructor(_r: RequestFn);
4377
+ /** Studio overview — counts + recent activity for a workspace. */
4378
+ getOverview(workspaceId?: string): Promise<IMResult<IMStudioOverview>>;
4379
+ /** Studio Profile domain — agent identity / personality / credits. */
4380
+ getProfile(agentId?: string): Promise<IMResult<IMStudioProfile>>;
4381
+ /** Studio Installed domain — workspace agents + active agent's skills. */
4382
+ getInstalled(options?: {
4383
+ workspaceId?: string;
4384
+ agentId?: string;
4385
+ }): Promise<IMResult<IMStudioInstalled>>;
4005
4386
  }
4006
4387
  /** Skill Evolution: gene management, analysis, recording, distillation */
4007
4388
  declare class EvolutionClient {
@@ -4278,6 +4659,8 @@ declare function safeSlug(input: string): string;
4278
4659
  */
4279
4660
  declare class WorkspacesClient {
4280
4661
  private _r;
4662
+ readonly members: WorkspaceMembersClient;
4663
+ readonly invites: WorkspaceInvitesClient;
4281
4664
  constructor(_r: RequestFn);
4282
4665
  /** List active workspaces owned by the caller. */
4283
4666
  list(): Promise<IMResult<IMWorkspace[]>>;
@@ -4316,6 +4699,202 @@ declare class WorkspacesClient {
4316
4699
  /** Revoke the workspace's current orchestrator. Owner-only. Idempotent. */
4317
4700
  revokeOrchestrator(workspaceId: string): Promise<IMResult<void>>;
4318
4701
  }
4702
+ /** Workspace membership role. Different enum from project (16 §5.1 decision). */
4703
+ type WorkspaceRole = 'owner' | 'admin' | 'member';
4704
+ interface IMWorkspaceMember {
4705
+ id: string;
4706
+ workspaceId: string;
4707
+ memberImUserId: string;
4708
+ role: WorkspaceRole;
4709
+ joinedAt: string;
4710
+ }
4711
+ interface WorkspaceMemberAddOptions {
4712
+ memberImUserId: string;
4713
+ /** 'owner' is rejected — use ownership transfer (v2.1+ RFC). */
4714
+ role: 'admin' | 'member';
4715
+ }
4716
+ interface WorkspaceMemberRemoveResult {
4717
+ removed: IMWorkspaceMember;
4718
+ /** Project memberships cascade-removed in the same transaction (16 §3.2.3). */
4719
+ projectMembershipsRemoved: number;
4720
+ }
4721
+ /**
4722
+ * Workspace membership sub-client. Reached as `client.workspaces.members.*`.
4723
+ *
4724
+ * Endpoint semantics (16 §3.3.1):
4725
+ * - list : any workspace member (404 for non-members to prevent enumeration)
4726
+ * - add : owner only; role=owner rejected
4727
+ * - update : owner only; promote-to-owner + demote-owner both rejected
4728
+ * - remove : owner only; owner self-removal rejected; cascades project memberships
4729
+ */
4730
+ declare class WorkspaceMembersClient {
4731
+ private _r;
4732
+ constructor(_r: RequestFn);
4733
+ list(workspaceId: string): Promise<IMResult<IMWorkspaceMember[]>>;
4734
+ add(workspaceId: string, options: WorkspaceMemberAddOptions): Promise<IMResult<IMWorkspaceMember>>;
4735
+ update(workspaceId: string, memberId: string, options: {
4736
+ role: 'admin' | 'member';
4737
+ }): Promise<IMResult<IMWorkspaceMember>>;
4738
+ remove(workspaceId: string, memberId: string): Promise<IMResult<WorkspaceMemberRemoveResult>>;
4739
+ }
4740
+ /** Invite status. Terminal states are accepted | rejected | revoked | expired. */
4741
+ type WorkspaceInviteStatus = 'pending' | 'accepted' | 'rejected' | 'revoked' | 'expired';
4742
+ type WorkspaceInviteRole = 'admin' | 'member';
4743
+ interface IMWorkspaceInvite {
4744
+ id: string;
4745
+ workspaceId: string;
4746
+ inviterUserId: string;
4747
+ /** Bearer token (URL-safe base64). Treat as a secret — log/redact accordingly. */
4748
+ token: string;
4749
+ inviteeEmail: string | null;
4750
+ inviteeImUserId: string | null;
4751
+ role: WorkspaceInviteRole;
4752
+ status: WorkspaceInviteStatus;
4753
+ expiresAt: string;
4754
+ acceptedByUserId: string | null;
4755
+ acceptedAt: string | null;
4756
+ createdAt: string;
4757
+ updatedAt: string;
4758
+ }
4759
+ interface WorkspaceInviteCreateOptions {
4760
+ /** Pick one: emailed link OR direct-to-imUser request. */
4761
+ inviteeEmail?: string;
4762
+ inviteeImUserId?: string;
4763
+ /** Defaults to 'member' server-side. */
4764
+ role?: WorkspaceInviteRole;
4765
+ /** TTL in days. Defaults to 7; clamped server-side to [1, 30]. */
4766
+ expiresInDays?: number;
4767
+ }
4768
+ /**
4769
+ * Public preview surface. 16 §3.1.4 + §0.2.4: NEVER includes member count,
4770
+ * asset count, or workspace owner identity. Safe for unauthenticated reads.
4771
+ */
4772
+ interface WorkspaceInvitePreview {
4773
+ workspaceName: string;
4774
+ inviterDisplayName: string;
4775
+ inviterAvatar: string | null;
4776
+ role: WorkspaceInviteRole;
4777
+ status: WorkspaceInviteStatus;
4778
+ expiresAt: string;
4779
+ }
4780
+ /**
4781
+ * Workspace-scoped invite sub-client. Reached as `client.workspaces.invites.*`.
4782
+ *
4783
+ * Token-bearing endpoints (preview/accept/reject) live on `client.invites.*`
4784
+ * because the preview endpoint is public (no auth) — see `InvitesClient`.
4785
+ */
4786
+ declare class WorkspaceInvitesClient {
4787
+ private _r;
4788
+ constructor(_r: RequestFn);
4789
+ create(workspaceId: string, options: WorkspaceInviteCreateOptions): Promise<IMResult<IMWorkspaceInvite>>;
4790
+ list(workspaceId: string): Promise<IMResult<IMWorkspaceInvite[]>>;
4791
+ revoke(workspaceId: string, inviteId: string): Promise<IMResult<IMWorkspaceInvite>>;
4792
+ }
4793
+ /**
4794
+ * Token-bearing invite sub-client. Reached as `client.invites.*`.
4795
+ *
4796
+ * `preview` is public; the client still uses the configured `request`
4797
+ * pipeline but server-side enforces no auth. Callers running in a
4798
+ * pre-login context should construct the SDK without an apiKey.
4799
+ */
4800
+ declare class InvitesClient {
4801
+ private _r;
4802
+ constructor(_r: RequestFn);
4803
+ preview(token: string): Promise<IMResult<WorkspaceInvitePreview>>;
4804
+ accept(token: string): Promise<IMResult<IMWorkspaceInvite>>;
4805
+ reject(token: string): Promise<IMResult<IMWorkspaceInvite>>;
4806
+ }
4807
+ /** Project status — 'active' = current; 'archived' = soft-deleted. */
4808
+ type ProjectStatus = 'active' | 'archived';
4809
+ /** Membership role inside a project. */
4810
+ type ProjectMembershipRole = 'owner' | 'contributor' | 'observer';
4811
+ /** Membership principal kind — covers both human and agent principals. */
4812
+ type ProjectPrincipalKind = 'user' | 'agent';
4813
+ /** Soft-delete cascade strategy when removing a project. */
4814
+ type ProjectDeleteCascade = 'archive' | 'null' | 'hard';
4815
+ interface IMProject {
4816
+ id: string;
4817
+ workspaceId: string;
4818
+ slug: string;
4819
+ name: string;
4820
+ description: string | null;
4821
+ status: ProjectStatus;
4822
+ ownerUserId: string;
4823
+ metadata: Record<string, unknown>;
4824
+ createdAt: string;
4825
+ updatedAt: string;
4826
+ archivedAt: string | null;
4827
+ }
4828
+ interface IMProjectWithCounts extends IMProject {
4829
+ memberCount: number;
4830
+ }
4831
+ interface IMProjectMembership {
4832
+ id: string;
4833
+ projectId: string;
4834
+ principalKind: ProjectPrincipalKind;
4835
+ principalId: string;
4836
+ role: ProjectMembershipRole;
4837
+ joinedAt: string;
4838
+ }
4839
+ interface ProjectListResult {
4840
+ items: IMProjectWithCounts[];
4841
+ total: number;
4842
+ }
4843
+ interface ProjectListOptions {
4844
+ workspaceId: string;
4845
+ status?: ProjectStatus;
4846
+ search?: string;
4847
+ limit?: number;
4848
+ offset?: number;
4849
+ }
4850
+ interface ProjectCreateOptions {
4851
+ workspaceId: string;
4852
+ slug: string;
4853
+ name: string;
4854
+ description?: string | null;
4855
+ metadata?: Record<string, unknown>;
4856
+ }
4857
+ interface ProjectUpdateOptions {
4858
+ name?: string;
4859
+ description?: string | null;
4860
+ status?: ProjectStatus;
4861
+ metadata?: Record<string, unknown>;
4862
+ }
4863
+ interface ProjectMemberAddOptions {
4864
+ principalKind: ProjectPrincipalKind;
4865
+ principalId: string;
4866
+ role?: ProjectMembershipRole;
4867
+ }
4868
+ /**
4869
+ * Project membership sub-client — bound to a parent ProjectsClient via the
4870
+ * shared RequestFn. Reached as `client.projects.members.*`.
4871
+ */
4872
+ declare class ProjectMembersClient {
4873
+ private _r;
4874
+ constructor(_r: RequestFn);
4875
+ list(projectId: string): Promise<IMResult<IMProjectMembership[]>>;
4876
+ add(projectId: string, options: ProjectMemberAddOptions): Promise<IMResult<IMProjectMembership>>;
4877
+ update(projectId: string, membershipId: string, options: {
4878
+ role: ProjectMembershipRole;
4879
+ }): Promise<IMResult<IMProjectMembership>>;
4880
+ remove(projectId: string, membershipId: string): Promise<IMResult<void>>;
4881
+ }
4882
+ /**
4883
+ * Projects API — release201/09 Phase 1 scope container above task.
4884
+ * Opt-in: workspaces without a project still work via NULL projectId on resources.
4885
+ */
4886
+ declare class ProjectsClient {
4887
+ private _r;
4888
+ readonly members: ProjectMembersClient;
4889
+ constructor(_r: RequestFn);
4890
+ list(options: ProjectListOptions): Promise<IMResult<ProjectListResult>>;
4891
+ create(options: ProjectCreateOptions): Promise<IMResult<IMProject>>;
4892
+ get(projectId: string): Promise<IMResult<IMProjectWithCounts>>;
4893
+ update(projectId: string, options: ProjectUpdateOptions): Promise<IMResult<IMProject>>;
4894
+ delete(projectId: string, options?: {
4895
+ cascade?: ProjectDeleteCascade;
4896
+ }): Promise<IMResult<IMProject>>;
4897
+ }
4319
4898
  /**
4320
4899
  * Workspace files (v1.9.3). Each file is a `path → assetId` binding inside a
4321
4900
  * workspace. POST is auto-versioning: the previous binding at the same path
@@ -4407,9 +4986,17 @@ declare class AssetsClient {
4407
4986
  declare class RuntimeInstallationsClient {
4408
4987
  private _r;
4409
4988
  constructor(_r: RequestFn);
4410
- /** List runtime installations in a workspace. */
4989
+ /**
4990
+ * List runtime installations in a workspace.
4991
+ *
4992
+ * v2.0.8 M448 (release201/20 §1) — `projectId` narrows scope:
4993
+ * - omitted | `'all'` → no project filter (legacy behaviour)
4994
+ * - `'__unscoped'` → only workspace-level rows (projectId IS NULL)
4995
+ * - any other string → exact projectId match
4996
+ */
4411
4997
  list(workspaceId: string, options?: {
4412
4998
  limit?: number;
4999
+ projectId?: 'all' | '__unscoped' | string;
4413
5000
  }): Promise<IMResult<IMRuntimeInstallation[]>>;
4414
5001
  /**
4415
5002
  * Create a new runtime installation. Mints a durable runtime API key,
@@ -4417,8 +5004,19 @@ declare class RuntimeInstallationsClient {
4417
5004
  * The daemon receives `PRISMER_API_KEY`, `PRISMER_DAEMON_ID`,
4418
5005
  * `PRISMER_BASE_URL`, `PRISMER_WORKSPACE_ID`, and
4419
5006
  * `PRISMER_RUNTIME_KIND=workspace-daemon` env vars.
5007
+ *
5008
+ * v2.0.8 M448 — `options.projectId` (optional) opts into project scope.
5009
+ * Server validates it belongs to the same workspace and is `active`,
5010
+ * otherwise rejects 422 `PROJECT_WORKSPACE_MISMATCH` / `PROJECT_NOT_ACTIVE`.
4420
5011
  */
4421
5012
  create(options: IMCreateRuntimeInstallationOptions): Promise<IMResult<IMRuntimeInstallation>>;
5013
+ /**
5014
+ * v2.0.8 M448 (release201/20 §1) — update the project binding on an
5015
+ * existing runtime installation. Pass `projectId: null` to detach.
5016
+ * No-op when body omits `projectId`. Same workspace/active invariant as
5017
+ * create — returns 422 on mismatch.
5018
+ */
5019
+ patch(runtimeInstallationId: string, options: IMPatchRuntimeInstallationOptions): Promise<IMResult<IMRuntimeInstallation>>;
4422
5020
  /**
4423
5021
  * Install an agent onto a runtime daemon. Resolves or creates the agent
4424
5022
  * profile, calls the controller's `installAgent` RPC, and stamps
@@ -4517,6 +5115,113 @@ declare class IMRealtimeClient {
4517
5115
  disconnect: () => void;
4518
5116
  }>;
4519
5117
  }
5118
+ interface SkillDraftManifestFile {
5119
+ path: string;
5120
+ /** UTF-8 text content (mutually exclusive with contentBase64). */
5121
+ content?: string;
5122
+ /** Base64 binary content (mutually exclusive with content). */
5123
+ contentBase64?: string;
5124
+ }
5125
+ interface SkillDraftCreateInput {
5126
+ slug: string;
5127
+ name: string;
5128
+ description: string;
5129
+ workspaceId: string;
5130
+ ownerAgentId?: string;
5131
+ files: SkillDraftManifestFile[];
5132
+ metadata?: {
5133
+ authoring?: Record<string, unknown>;
5134
+ };
5135
+ }
5136
+ interface SkillDraftPatchOp {
5137
+ path: string;
5138
+ op: 'add' | 'update' | 'delete';
5139
+ content?: string;
5140
+ contentBase64?: string;
5141
+ }
5142
+ interface SkillDraftPatchInput {
5143
+ files: SkillDraftPatchOp[];
5144
+ reason?: string;
5145
+ }
5146
+ interface SkillDraftRegenerateInput {
5147
+ reason: string;
5148
+ newSources?: Array<{
5149
+ kind: string;
5150
+ ref: string;
5151
+ }>;
5152
+ }
5153
+ interface SkillDraftValidationWarning {
5154
+ gate: string;
5155
+ message: string;
5156
+ }
5157
+ interface SkillDraftCreateResult {
5158
+ id: string;
5159
+ slug: string;
5160
+ manifestRevision: string;
5161
+ reviewTaskId: string | null;
5162
+ validationWarnings: SkillDraftValidationWarning[];
5163
+ }
5164
+ interface SkillDraftDTO {
5165
+ id: string;
5166
+ slug: string;
5167
+ name: string;
5168
+ description: string;
5169
+ status: 'draft';
5170
+ workspaceId: string | null;
5171
+ ownerAgentId: string | null;
5172
+ manifestRevision: string | null;
5173
+ files: Array<{
5174
+ path: string;
5175
+ size: number;
5176
+ sha256: string;
5177
+ inline: boolean;
5178
+ content?: string;
5179
+ url?: string;
5180
+ }>;
5181
+ license: string | null;
5182
+ compatibility: string[];
5183
+ requires: Record<string, unknown>;
5184
+ executableJson: unknown;
5185
+ metadata: Record<string, unknown>;
5186
+ createdAt: string;
5187
+ updatedAt: string;
5188
+ }
5189
+ /**
5190
+ * Skill Draft client — release201/07 skill-authoring engine.
5191
+ *
5192
+ * Surface (mounted at `client.im.skills.draft`):
5193
+ * create, patch, regenerate, show, list
5194
+ */
5195
+ declare class SkillsDraftClient {
5196
+ private _r;
5197
+ constructor(_r: RequestFn);
5198
+ /** Create a draft skill from a manifest v1 payload. */
5199
+ create(input: SkillDraftCreateInput): Promise<IMResult<SkillDraftCreateResult>>;
5200
+ /** Apply incremental file ops to a draft. */
5201
+ patch(id: string, input: SkillDraftPatchInput): Promise<IMResult<{
5202
+ id: string;
5203
+ manifestRevision: string;
5204
+ }>>;
5205
+ /** Request a regenerate session for a draft. */
5206
+ regenerate(id: string, input: SkillDraftRegenerateInput): Promise<IMResult<{
5207
+ id: string;
5208
+ sessionId: string;
5209
+ manifestRevision: string;
5210
+ }>>;
5211
+ /** Fetch a single draft's manifest + revision history. */
5212
+ show(id: string): Promise<IMResult<SkillDraftDTO>>;
5213
+ /** List drafts for a workspace (most-recently-updated first). */
5214
+ list(workspaceId: string): Promise<IMResult<SkillDraftDTO[]>>;
5215
+ }
5216
+ /**
5217
+ * Top-level skills surface — draft authoring lives under `.draft`. Other
5218
+ * skill operations (search / install / etc.) remain on
5219
+ * `client.im.evolution.skills` for v2.0 compatibility.
5220
+ */
5221
+ declare class SkillsClient {
5222
+ readonly draft: SkillsDraftClient;
5223
+ constructor(_r: RequestFn);
5224
+ }
4520
5225
  declare class IMClient {
4521
5226
  readonly account: AccountClient;
4522
5227
  readonly direct: DirectClient;
@@ -4530,6 +5235,10 @@ declare class IMClient {
4530
5235
  readonly workspace: WorkspaceClient;
4531
5236
  /** v1.9.3 first-class workspaces (`/api/im/workspaces`). */
4532
5237
  readonly workspaces: WorkspacesClient;
5238
+ /** v2.0.8 release201/16 Phase 9 — token-bearing invite endpoints (preview/accept/reject). */
5239
+ readonly invites: InvitesClient;
5240
+ /** v2.0.7 release201/09 project scope container (`/api/im/projects`). */
5241
+ readonly projects: ProjectsClient;
4533
5242
  /** v1.9.3 workspace files (`/api/im/workspaces/:id/files`). */
4534
5243
  readonly workspaceFiles: WorkspaceFilesClient;
4535
5244
  /** v1.9.3 content-addressed assets (`/api/im/assets`). */
@@ -4537,12 +5246,20 @@ declare class IMClient {
4537
5246
  /** v1.9.3 workspace runtime installations (`/api/workspace/runtime-installations`). */
4538
5247
  readonly runtimeInstallations: RuntimeInstallationsClient;
4539
5248
  readonly tasks: TasksClient;
5249
+ /** release201/10 acceptance template store. */
5250
+ readonly criteriaTemplates: CriteriaTemplatesClient;
4540
5251
  readonly memory: MemoryClient;
4541
5252
  readonly knowledge: KnowledgeLinkClient;
5253
+ /** v2.0.7 release201/11 — unified metric data channel. */
5254
+ readonly metrics: MetricsClient;
4542
5255
  readonly identity: IdentityClient;
4543
5256
  readonly security: SecurityClient;
4544
5257
  readonly agents: AgentsClient;
4545
5258
  readonly evolution: EvolutionClient;
5259
+ /** Top-level skill surface (release201/07 skill-authoring engine; `.draft.*` for drafts). */
5260
+ readonly skills: SkillsClient;
5261
+ /** Skill Studio BFF (release201/13). */
5262
+ readonly studio: StudioClient;
4546
5263
  readonly community: CommunityHub;
4547
5264
  readonly files: FilesClient;
4548
5265
  readonly realtime: IMRealtimeClient;
@@ -4574,6 +5291,7 @@ declare class PrismerClient {
4574
5291
  private readonly timeout;
4575
5292
  private readonly fetchFn;
4576
5293
  private readonly imAgent?;
5294
+ private readonly imWorkspace?;
4577
5295
  private _offlineManager;
4578
5296
  /** AIP identity for auto-signing (v1.8.0 S1) */
4579
5297
  private _identity;
@@ -4582,6 +5300,10 @@ declare class PrismerClient {
4582
5300
  readonly im: IMClient;
4583
5301
  /** v2.0 workspace public surface (`/api/im/workspaces`). */
4584
5302
  readonly workspaces: WorkspacesClient;
5303
+ /** v2.0.8 release201/16 — token-bearing invite endpoints (preview/accept/reject). */
5304
+ readonly invites: InvitesClient;
5305
+ /** v2.0.7 project scope public surface (`/api/im/projects`). */
5306
+ readonly projects: ProjectsClient;
4585
5307
  /** v2.0 workspace file public surface (`/api/im/workspaces/:id/files`). */
4586
5308
  readonly workspaceFiles: WorkspaceFilesClient;
4587
5309
  /** v2.0 workspace asset public surface (`/api/im/assets`). */
@@ -4645,4 +5367,4 @@ declare class PrismerClient {
4645
5367
 
4646
5368
  declare function createClient(config: PrismerConfig): PrismerClient;
4647
5369
 
4648
- export { AccountClient, type AgentChangedPayload, type AgentHostDeclarePayload, type AgentProfileChangedPayload, type AgentStatusChangedPayload, AgentsClient, type AssetChangedPayload, type AssetDispatchObservation, type AssetDispatchStrategy, type AssetRef, AssetsClient, AttachmentQueue, type AudioMime, type AuthenticatedPayload, type BatchSummary, type BatchUrlCost, BindingsClient, type CacheManager, type Card, type CardCreateInput, type CardFilters, type CardKanbanMetadata, type CardKanbanMetadataSource, type CardKanbanStatus, type CardMetadata, type CardMove, type ChatMessage, type CommandResult, CommunityHub, type CommunityHubConfig, ContactsClient, type ContentBlock, type ContentBlockAudio, type ContentBlockFile, type ContentBlockImage, type ContentBlockReasoning, type ContentBlockText, type ContentBlockToolResult, type ContentBlockToolUse, type ContentBlockVideo, type ControlCommand, ConversationsClient, CreditsClient, type DaemonControlPlane, type DecryptResult, type DerivationMode, DirectClient, type DisconnectedPayload, E2EEncryption, ENVIRONMENTS, type EncryptedContextResult, type EncryptedFileResult, type EncryptedMessage, type Environment, type ErrorPayload, EvolutionCache, EvolutionClient, EvolutionRuntime, type EvolutionRuntimeConfig, type EvolutionSession, EvolutionSkillsClient, type EvolutionSyncDelta, type EvolutionSyncSnapshot, type ExecutionContext, type ExecutionPolicy, type FileInput, FilesClient, type GeneCategory, type GeneSelectionResult, type GeneVisibility, GroupsClient, type HostAckedPayload, type HostedAgentDeclaration, type IMAccountDeleteResult, type IMAgentCard, type IMAgentForkOptions, type IMAgentForkResult, type IMAgentPack, type IMAgentPackListOptions, type IMAgentPersonality, type IMAgentPublishOptions, type IMAgentRestoreOptions, type IMAgentSkillAckInput, type IMAgentSkillInstallOptions, type IMAgentSkillListOptions, type IMAgentSkillRecord, type IMAgentSnapshot, type IMAgentSnapshotOptions, type IMAgentSpec, type IMAgentStatus, type IMAnalyzeOptions, type IMAnalyzeResult, type IMAsset, type IMAssetDetail, type IMAssetListOptions, type IMAssetPreviewContract, type IMAssetPreviewKind, type IMAssetPreviewStatus, type IMAssetRevision, type IMAssetRevisionList, type IMAssetUploadOptions, type IMAutocompleteResult, type IMBinding, type IMBindingData, type IMBlockedUser, type IMCapsule, IMClient, type IMCompactOptions, type IMCompactionSummary, type IMCompleteTaskOptions, type IMConfirmResult, type IMContact, type IMConversation, type IMConversationsOptions, type IMCreateBindingOptions, type IMCreateGeneOptions, type IMCreateGroupOptions, type IMCreateMemoryFileOptions, type IMCreateRuntimeInstallationOptions, type IMCreateTaskOptions, type IMCreateWorkspaceFileOptions, type IMCreateWorkspaceOptions, type IMCreditsData, type IMDiscoverAgent, type IMDiscoverOptions, type IMEvolutionEdge, type IMEvolutionStats, type IMFileQuota, type IMForkGeneOptions, type IMFriendRequest, type IMGene, type IMGeneListOptions, type IMGroupData, type IMGroupMember, type IMIdentityKey, type IMInstallAgentOnRuntimeOptions, type IMInstallAgentOnRuntimeResult, type IMKeyAuditEntry, type IMKeyVerifyResult, type IMKnowledgeLink, type IMMeData, type IMMemoryDigest, type IMMemoryDigestOptions, type IMMemoryFile, type IMMemoryFileDetail, type IMMemoryKnowledgeLinks, type IMMemoryLoadResult, type IMMessage, type IMMessageAttachment, type IMMessageData, type IMMultipartInitResult, type IMOwnedAgent, type IMPaginationOptions, type IMPresignOptions, type IMPresignResult, IMRealtimeClient, type IMRecordOutcomeOptions, type IMRegisterData, type IMRegisterKeyOptions, type IMRegisterOptions, type IMResult, type IMRouting, type IMRuntimeInstallation, type IMSendOptions, type IMSkillContent, type IMSkillCreateInput, type IMSkillInfo, type IMSkillInstallResult, type IMSkillSearchOptions, type IMSkillUpdateInput, type IMTask, type IMTaskDetail, type IMTaskListOptions, type IMTaskLog, type IMTaskResult, type IMTokenData, type IMTransaction, type IMUpdateMemoryFileOptions, type IMUpdateTaskOptions, type IMUpdateWorkspaceOptions, type IMUser, type IMUserProfile, type IMWSMessage, type IMWorkspace, type IMWorkspaceData, type IMWorkspaceFile, type IMWorkspaceFileSyncResult, type IMWorkspaceInitGroupOptions, type IMWorkspaceInitOptions, type IMWorkspaceOrchestrator, type IMWorkspaceOrchestratorEnvelope, type IMWorkspaceSyncResult, IdentityClient, type ImageMime, IndexedDBStorage, type KeyManager, KnowledgeLinkClient, type KnowledgeLinkSource, type KnowledgeLinkType, type LLMBackend, type LLMDispatcher, type LLMResult, type LLMTask, type LoadOptions, type LoadResult, type LoadResultItem, MemoryClient, MemoryStorage, type MessageDeletedPayload, type MessageEditPayload, type MessageNewPayload, type MessageReactionPayload, MessagesClient, type ModelEntry, type NotificationSink, type OfflineConfig, type OfflineEventMap, type OfflineEventType, OfflineManager, type OutboxOperation, type ParseCost, type ParseCostBreakdown, type ParseDocument, type ParseDocumentImage, type ParseOptions, type ParseResult, type ParseUsage, type PongPayload, type PresenceChangedPayload, PrismerClient, type PrismerConfig, type PrismerEvent, type QueryCost, type QuerySummary, type QueuedAttachment, type QueuedTask, type RankingFactors, type RealtimeCommand, type RealtimeConfig, type RealtimeEventMap, type RealtimeEventType, RealtimeSSEClient, type RealtimeState, RealtimeWSClient, type ReconnectingPayload, type RejectedHostedAgent, type RequestFn, type RequestOpts, RuntimeInstallationsClient, type RuntimePhase, type RuntimeRoute, SQLiteStorage, type SaveBatchOptions, type SaveOptions, type SaveResult, type ScheduleType, SecurityClient, type SendFileOptions, type SendFileResult, type SessionMetrics, type SignalEnrichmentConfig, type SignalTag, type SingleUrlCost, type StorageAdapter, type StoredContact, type StoredConversation, type StoredMessage, type Suggestion, type SyncEvent, type SyncResult, TabCoordinator, type TaskCancelPayload, type TaskDispatchContextEntry, type TaskDispatchProgressPayload, type TaskDispatchReplyPayload, type TaskDispatchRequestPayload, type TaskEventEnvelope, type TaskEventType, type TaskExecutor, type TaskInput, type TaskKind, type TaskStatus, TasksClient, type TypingIndicatorPayload, type UploadOptions, type UploadResult, type VideoMime, WORKSPACE_ASSETS_ROUTE, type WorkspaceAssetFilters, type WorkspaceAssetRoute, type WorkspaceAssetUploadInput, type WorkspaceAssetsApiContract, type WorkspaceChangedPayload, WorkspaceClient, type WorkspaceFileChangedPayload, WorkspaceFilesClient, WorkspacesClient, createClient, createEnrichedExtractor, decryptContext, decryptFile, decryptMessages, decryptOnReceive, PrismerClient as default, encryptContext, encryptFile, encryptForSend, extractSignals, guessMimeType, readCardKanbanMetadata, safeSlug, writeCardKanbanMetadata };
5370
+ export { AccountClient, type AgentChangedPayload, type AgentHostDeclarePayload, type AgentProfileChangedPayload, AgentSkillsClient, type AgentStatusChangedPayload, AgentsClient, type AssetChangedPayload, type AssetDispatchObservation, type AssetDispatchStrategy, type AssetRef, AssetsClient, AttachmentQueue, type AudioMime, type AuthenticatedPayload, type BatchSummary, type BatchUrlCost, BindingsClient, type CacheManager, type Card, type CardCreateInput, type CardFilters, type CardKanbanMetadata, type CardKanbanMetadataSource, type CardKanbanStatus, type CardMetadata, type CardMove, type ChatMessage, type CommandResult, CommunityHub, type CommunityHubConfig, ContactsClient, type ContentBlock, type ContentBlockAudio, type ContentBlockFile, type ContentBlockImage, type ContentBlockReasoning, type ContentBlockText, type ContentBlockToolResult, type ContentBlockToolUse, type ContentBlockVideo, type ControlCommand, ConversationsClient, CreditsClient, CriteriaTemplatesClient, type DaemonControlPlane, type DecryptResult, type DerivationMode, DirectClient, type DisconnectedPayload, E2EEncryption, ENVIRONMENTS, type EncryptedContextResult, type EncryptedFileResult, type EncryptedMessage, type Environment, type ErrorPayload, EvolutionCache, EvolutionClient, EvolutionRuntime, type EvolutionRuntimeConfig, type EvolutionSession, EvolutionSkillsClient, type EvolutionSyncDelta, type EvolutionSyncSnapshot, type ExecutionContext, type ExecutionPolicy, type FileInput, FilesClient, type GeneCategory, type GeneSelectionResult, type GeneVisibility, GroupsClient, type HostAckedPayload, type HostedAgentDeclaration, type IMAccountDeleteResult, type IMAgentCard, type IMAgentForkOptions, type IMAgentForkResult, type IMAgentPack, type IMAgentPackListOptions, type IMAgentPersonality, type IMAgentPublishOptions, type IMAgentRestoreOptions, type IMAgentSkillAckInput, type IMAgentSkillInstallOptions, type IMAgentSkillListOptions, type IMAgentSkillRecord, type IMAgentSnapshot, type IMAgentSnapshotOptions, type IMAgentSpec, type IMAgentStatus, type IMAnalyzeOptions, type IMAnalyzeResult, type IMAsset, type IMAssetDetail, type IMAssetListOptions, type IMAssetPreviewContract, type IMAssetPreviewKind, type IMAssetPreviewStatus, type IMAssetRevision, type IMAssetRevisionList, type IMAssetUploadOptions, type IMAutocompleteResult, type IMBinding, type IMBindingData, type IMBlockedUser, type IMCapsule, IMClient, type IMCompactOptions, type IMCompactionSummary, type IMCompleteTaskOptions, type IMConfirmResult, type IMContact, type IMConversation, type IMConversationsOptions, type IMCreateBindingOptions, type IMCreateGeneOptions, type IMCreateGroupOptions, type IMCreateMemoryFileOptions, type IMCreateRuntimeInstallationOptions, type IMCreateTaskOptions, type IMCreateWorkspaceFileOptions, type IMCreateWorkspaceOptions, type IMCreditsData, type IMDiscoverAgent, type IMDiscoverOptions, type IMEvolutionEdge, type IMEvolutionStats, type IMFileQuota, type IMForkGeneOptions, type IMFriendRequest, type IMGene, type IMGeneListOptions, type IMGroupData, type IMGroupMember, type IMIdentityKey, type IMInstallAgentOnRuntimeOptions, type IMInstallAgentOnRuntimeResult, type IMKeyAuditEntry, type IMKeyVerifyResult, type IMKnowledgeLink, type IMMeData, type IMMemoryDigest, type IMMemoryDigestOptions, type IMMemoryFile, type IMMemoryFileDetail, type IMMemoryKnowledgeLinks, type IMMemoryLoadResult, type IMMessage, type IMMessageAttachment, type IMMessageData, type IMMultipartInitResult, type IMOwnedAgent, type IMPaginationOptions, type IMPatchRuntimeInstallationOptions, type IMPresignOptions, type IMPresignResult, type IMProject, type IMProjectMembership, type IMProjectWithCounts, IMRealtimeClient, type IMRecordOutcomeOptions, type IMRegisterData, type IMRegisterKeyOptions, type IMRegisterOptions, type IMResult, type IMRouting, type IMRuntimeInstallation, type IMSendOptions, type IMSkillContent, type IMSkillCreateInput, type IMSkillInfo, type IMSkillInstallResult, type IMSkillSearchOptions, type IMSkillUpdateInput, type IMStudioAgentSummary, type IMStudioInstalled, type IMStudioInstalledSkill, type IMStudioOverview, type IMStudioProfile, type IMTask, type IMTaskDetail, type IMTaskListOptions, type IMTaskLog, type IMTaskResult, type IMTokenData, type IMTransaction, type IMUpdateMemoryFileOptions, type IMUpdateTaskOptions, type IMUpdateWorkspaceOptions, type IMUser, type IMUserProfile, type IMWSMessage, type IMWorkspace, type IMWorkspaceData, type IMWorkspaceFile, type IMWorkspaceFileSyncResult, type IMWorkspaceInitGroupOptions, type IMWorkspaceInitOptions, type IMWorkspaceInvite, type IMWorkspaceMember, type IMWorkspaceOrchestrator, type IMWorkspaceOrchestratorEnvelope, type IMWorkspaceSyncResult, IdentityClient, type ImageMime, IndexedDBStorage, InvitesClient, type KeyManager, KnowledgeLinkClient, type KnowledgeLinkSource, type KnowledgeLinkType, type LLMBackend, type LLMDispatcher, type LLMResult, type LLMTask, type LoadOptions, type LoadResult, type LoadResultItem, MemoryClient, MemoryStorage, type MessageDeletedPayload, type MessageEditPayload, type MessageNewPayload, type MessageReactionPayload, MessagesClient, type MetricAgg, type MetricAggregateOptions, type MetricAggregateResponse, type MetricBucket, type MetricBucketResult, type MetricEmitInput, MetricsClient, type ModelEntry, type NotificationSink, type OfflineConfig, type OfflineEventMap, type OfflineEventType, OfflineManager, type OutboxOperation, type OutboxRejectionRecord, type ParseCost, type ParseCostBreakdown, type ParseDocument, type ParseDocumentImage, type ParseOptions, type ParseResult, type ParseUsage, type PongPayload, type PresenceChangedPayload, PrismerClient, type PrismerConfig, type PrismerEvent, type ProjectCreateOptions, type ProjectDeleteCascade, type ProjectListOptions, type ProjectListResult, type ProjectMemberAddOptions, ProjectMembersClient, type ProjectMembershipRole, type ProjectPrincipalKind, type ProjectStatus, type ProjectUpdateOptions, ProjectsClient, type QueryCost, type QuerySummary, type QueuedAttachment, type QueuedTask, type RankingFactors, type RealtimeCommand, type RealtimeConfig, type RealtimeEventMap, type RealtimeEventType, RealtimeSSEClient, type RealtimeState, RealtimeWSClient, type ReconnectingPayload, type RejectedHostedAgent, type RequestFn, type RequestOpts, RuntimeInstallationsClient, type RuntimePhase, type RuntimeRoute, SQLiteStorage, type SaveBatchOptions, type SaveOptions, type SaveResult, type ScheduleType, SecurityClient, type SendFileOptions, type SendFileResult, type SessionMetrics, type SignalEnrichmentConfig, type SignalTag, type SingleUrlCost, type SkillDraftCreateInput, type SkillDraftCreateResult, type SkillDraftDTO, type SkillDraftManifestFile, type SkillDraftPatchInput, type SkillDraftPatchOp, type SkillDraftRegenerateInput, type SkillDraftValidationWarning, SkillsClient, SkillsDraftClient, type StorageAdapter, type StoredContact, type StoredConversation, type StoredMessage, StudioClient, StudioEvolutionClient, type Suggestion, type SyncEvent, type SyncResult, TabCoordinator, type TaskCancelPayload, type TaskDispatchContextEntry, type TaskDispatchProgressPayload, type TaskDispatchReplyPayload, type TaskDispatchRequestPayload, type TaskEventEnvelope, type TaskEventType, type TaskExecutor, type TaskInput, type TaskKind, type TaskStatus, TasksClient, type TypingIndicatorPayload, type UploadOptions, type UploadResult, type VideoMime, WORKSPACE_ASSETS_ROUTE, type WorkspaceAssetFilters, type WorkspaceAssetRoute, type WorkspaceAssetUploadInput, type WorkspaceAssetsApiContract, type WorkspaceChangedPayload, WorkspaceClient, type WorkspaceFileChangedPayload, WorkspaceFilesClient, type WorkspaceInviteCreateOptions, type WorkspaceInvitePreview, type WorkspaceInviteRole, type WorkspaceInviteStatus, WorkspaceInvitesClient, type WorkspaceMemberAddOptions, type WorkspaceMemberRemoveResult, WorkspaceMembersClient, type WorkspaceRole, WorkspacesClient, createClient, createEnrichedExtractor, decryptContext, decryptFile, decryptMessages, decryptOnReceive, PrismerClient as default, encryptContext, encryptFile, encryptForSend, extractSignals, guessMimeType, readCardKanbanMetadata, safeSlug, writeCardKanbanMetadata };