@deepseek-ai/dsh-api-remotes 0.1.3-alpha.2 → 0.1.5-alpha.1

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/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/api/remotes/README.md
5
- README.md: 1a6c311db9d456db17d942b56cc133799f355a88
6
- README.zh.md: cba94598868db8401ea512bdb6c274fa2fe098e5
5
+ README.md: 52ef6223f4d7770224df1b1c5d783962c55f73f6
6
+ README.zh.md: eab5d2c6642a7899fac60d8c666ee55057eaea05
package/README.md CHANGED
@@ -42,7 +42,7 @@ This package owns no physical transport or Host service discovery. It projects t
42
42
 
43
43
  The listener signature is not restated here. Each allowlisted event's Cordis `Events` declaration lives in its owner package's client-safe `./types` export, and both faces of this package pull those declarations in. The Host face additionally asserts every entry against `TypertForwardableEventEntry`: an `emit` entry must be a declared one-way event, while a `waterfall` entry must be a declared Agent-scoped waterfall whose final parameter is its same-result `next()` callback.
44
44
 
45
- The Host entry registers an independent allowlist listener set and queue for each Client stream. It rejects non-JSON ordinary-event arguments before enqueueing. For a waterfall, it projects only the top-level Agent identity and JSON request fields; a Client result must also be lossless JSON, while `next()` delegates to the following Host listener. The source attaches all listeners synchronously before `ctx.typertGateway.registerRemoteEvents()` exposes Gateway's internal `$events` logical stream, so its first `ready` item proves that incremental delivery is active and carries the Host home for Client path display. Withdrawing the registration aborts active streams.
45
+ The Host entry registers an independent allowlist listener set and queue for each Client stream. It rejects non-JSON ordinary-event arguments before enqueueing. For a waterfall, it projects only the top-level Agent identity and JSON request fields; a Client result must also be lossless JSON, while `next()` delegates to the following Host listener. Each scoped waterfall request must carry its routed Agent directly as `request.agent`; the Host rejects a missing or mismatched identity before forwarding. The source attaches all listeners synchronously before `ctx.typertGateway.registerRemoteEvents()` exposes Gateway's internal `$events` logical stream, so its first `ready` item proves that incremental delivery is active and carries the Host home for Client path display. Withdrawing the registration aborts active streams.
46
46
 
47
47
  <a id="build-boundary"></a>
48
48
  ## Build boundary
package/README.zh.md CHANGED
@@ -42,7 +42,7 @@ Client 组合挂载 Commands、凭据、settings、Goal、动态 Cordis、文件
42
42
 
43
43
  监听器签名不在此处重写。名单内每条事件的 Cordis `Events` 声明都住在其 owner 包 client-safe 的 `./types` 出口,本包两个 face 都把那些声明纳入编译面。Host face 还会把每个条目断言给 `TypertForwardableEventEntry`:`emit` 条目必须是已声明的单向事件,`waterfall` 条目则必须是已声明的 Agent-scoped waterfall,且其最后一个参数是返回相同结果类型的 `next()` 回调。
44
44
 
45
- Host entry 为每条 Client stream 独立注册 allowlist listener 和队列,并在普通事件入队前拒绝非 JSON 参数。对于 waterfall,它只投影顶层 Agent 身份与 JSON 请求字段;Client 结果也必须能无损表示为 JSON,而 `next()` 会委托给后续 Host listener。该 source 在 `ctx.typertGateway.registerRemoteEvents()` 暴露 Gateway 内部的 `$events` logical stream 前同步挂好所有 listener,因此首个 `ready` 项既能证明增量投递已就绪,也会携带供 Client 显示路径的 Host home。撤回注册会中止活动 stream。
45
+ Host entry 为每条 Client stream 独立注册 allowlist listener 和队列,并在普通事件入队前拒绝非 JSON 参数。对于 waterfall,它只投影顶层 Agent 身份与 JSON 请求字段;Client 结果也必须能无损表示为 JSON,而 `next()` 会委托给后续 Host listener。每个作用域 waterfall 请求都必须以 `request.agent` 直接携带路由所用的 Agent;Host 会在转发前拒绝缺失或不匹配的身份。该 source 在 `ctx.typertGateway.registerRemoteEvents()` 暴露 Gateway 内部的 `$events` logical stream 前同步挂好所有 listener,因此首个 `ready` 项既能证明增量投递已就绪,也会携带供 Client 显示路径的 Host home。撤回注册会中止活动 stream。
46
46
 
47
47
  <a id="build-boundary"></a>
48
48
  ## 构建边界
package/lib/client.js CHANGED
@@ -4334,7 +4334,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4334
4334
  const _deepseek_ai_dsh_agent_presets_agentPresets_select_parameter_0$schema = intersection(string(), unknown());
4335
4335
  const _deepseek_ai_dsh_agent_presets_agentPresets_select_parameter_1$schema = string();
4336
4336
  const _deepseek_ai_dsh_agent_presets_agentPresets_select_result$schema = string();
4337
- const TYPERT_REMOTE$12 = {
4337
+ const TYPERT_REMOTE$13 = {
4338
4338
  package: "@deepseek-ai/dsh-agent-presets",
4339
4339
  descriptors: [
4340
4340
  {
@@ -4543,7 +4543,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4543
4543
  "attachments": boolean().readonly().optional()
4544
4544
  }).readonly().optional()
4545
4545
  }));
4546
- const TYPERT_REMOTE$11 = {
4546
+ const TYPERT_REMOTE$12 = {
4547
4547
  package: "@deepseek-ai/dsh-commands",
4548
4548
  descriptors: [{
4549
4549
  id: "@deepseek-ai/dsh-commands#commands/execute",
@@ -4939,7 +4939,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
4939
4939
  })),
4940
4940
  "revision": number()
4941
4941
  });
4942
- const TYPERT_REMOTE$10 = {
4942
+ const TYPERT_REMOTE$11 = {
4943
4943
  package: "@deepseek-ai/dsh-api-settings-controller",
4944
4944
  descriptors: [
4945
4945
  {
@@ -5341,6 +5341,27 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5341
5341
  "id": intersection(string(), unknown()).readonly(),
5342
5342
  "revision": number().readonly()
5343
5343
  });
5344
+ const _deepseek_ai_dsh_goal_goals_get_parameter_0$schema = intersection(string(), unknown());
5345
+ const _deepseek_ai_dsh_goal_goals_get_result$schema = union([_undefined(), object({
5346
+ "roundsStarted": number().readonly(),
5347
+ "createdAt": number().readonly(),
5348
+ "updatedAt": number().readonly(),
5349
+ "activation": union([literal("armed"), literal("disarmed")]).readonly(),
5350
+ "objective": string().readonly(),
5351
+ "phase": union([
5352
+ literal("active"),
5353
+ literal("paused"),
5354
+ literal("blocked"),
5355
+ literal("complete")
5356
+ ]).readonly(),
5357
+ "blockedReason": object({
5358
+ "code": string().readonly(),
5359
+ "message": string().readonly()
5360
+ }).readonly().optional(),
5361
+ "maxGoalRounds": number().readonly(),
5362
+ "id": intersection(string(), unknown()).readonly(),
5363
+ "revision": number().readonly()
5364
+ })]);
5344
5365
  const _deepseek_ai_dsh_goal_goals_pause_parameter_0$schema = intersection(string(), unknown());
5345
5366
  const _deepseek_ai_dsh_goal_goals_pause_parameter_1$schema = object({
5346
5367
  "id": intersection(string(), unknown()).readonly(),
@@ -5391,7 +5412,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5391
5412
  "id": intersection(string(), unknown()).readonly(),
5392
5413
  "revision": number().readonly()
5393
5414
  });
5394
- const TYPERT_REMOTE$9 = {
5415
+ const TYPERT_REMOTE$10 = {
5395
5416
  package: "@deepseek-ai/dsh-goal",
5396
5417
  descriptors: [
5397
5418
  {
@@ -5431,7 +5452,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5431
5452
  },
5432
5453
  sourceLocation: {
5433
5454
  "file": "packages/goal/goal/src/index.ts",
5434
- "line": 431,
5455
+ "line": 433,
5435
5456
  "column": 3
5436
5457
  }
5437
5458
  },
@@ -5472,7 +5493,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5472
5493
  },
5473
5494
  sourceLocation: {
5474
5495
  "file": "packages/goal/goal/src/index.ts",
5475
- "line": 389,
5496
+ "line": 391,
5476
5497
  "column": 3
5477
5498
  }
5478
5499
  },
@@ -5514,7 +5535,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5514
5535
  },
5515
5536
  sourceLocation: {
5516
5537
  "file": "packages/goal/goal/src/index.ts",
5517
- "line": 623,
5538
+ "line": 647,
5518
5539
  "column": 3
5519
5540
  }
5520
5541
  },
@@ -5568,7 +5589,39 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5568
5589
  },
5569
5590
  sourceLocation: {
5570
5591
  "file": "packages/goal/goal/src/index.ts",
5571
- "line": 327,
5592
+ "line": 329,
5593
+ "column": 3
5594
+ }
5595
+ },
5596
+ {
5597
+ id: "@deepseek-ai/dsh-goal#goals/get",
5598
+ service: "goals",
5599
+ namespace: "goals",
5600
+ method: "get",
5601
+ invocation: { kind: "direct" },
5602
+ scope: {
5603
+ context: "agent",
5604
+ wire: "agentId"
5605
+ },
5606
+ parameters: [{
5607
+ name: "agent",
5608
+ wire: "agentId",
5609
+ source: "lookup",
5610
+ lookup: "agent",
5611
+ codec: {
5612
+ mode: "strict",
5613
+ typeSymbol: "@deepseek-ai/dsh-session/types#SessionId",
5614
+ schema: _deepseek_ai_dsh_goal_goals_get_parameter_0$schema
5615
+ }
5616
+ }],
5617
+ result: {
5618
+ mode: "strict",
5619
+ typeSymbol: "@deepseek-ai/dsh-goal#goals/get:result",
5620
+ schema: _deepseek_ai_dsh_goal_goals_get_result$schema
5621
+ },
5622
+ sourceLocation: {
5623
+ "file": "packages/goal/goal/src/index.ts",
5624
+ "line": 277,
5572
5625
  "column": 3
5573
5626
  }
5574
5627
  },
@@ -5609,7 +5662,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5609
5662
  },
5610
5663
  sourceLocation: {
5611
5664
  "file": "packages/goal/goal/src/index.ts",
5612
- "line": 350,
5665
+ "line": 352,
5613
5666
  "column": 3
5614
5667
  }
5615
5668
  },
@@ -5650,7 +5703,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5650
5703
  },
5651
5704
  sourceLocation: {
5652
5705
  "file": "packages/goal/goal/src/index.ts",
5653
- "line": 362,
5706
+ "line": 364,
5654
5707
  "column": 3
5655
5708
  }
5656
5709
  }
@@ -5682,7 +5735,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5682
5735
  "id": string(),
5683
5736
  "name": string()
5684
5737
  }));
5685
- const TYPERT_REMOTE$8 = {
5738
+ const TYPERT_REMOTE$9 = {
5686
5739
  package: "@deepseek-ai/dsh-llm",
5687
5740
  descriptors: [
5688
5741
  {
@@ -5719,7 +5772,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5719
5772
  },
5720
5773
  sourceLocation: {
5721
5774
  "file": "packages/llm/llm/src/index.ts",
5722
- "line": 625,
5775
+ "line": 628,
5723
5776
  "column": 9
5724
5777
  }
5725
5778
  },
@@ -5737,7 +5790,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5737
5790
  },
5738
5791
  sourceLocation: {
5739
5792
  "file": "packages/llm/llm/src/index.ts",
5740
- "line": 538,
5793
+ "line": 541,
5741
5794
  "column": 3
5742
5795
  }
5743
5796
  },
@@ -5755,7 +5808,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
5755
5808
  },
5756
5809
  sourceLocation: {
5757
5810
  "file": "packages/llm/llm/src/index.ts",
5758
- "line": 466,
5811
+ "line": 469,
5759
5812
  "column": 3
5760
5813
  }
5761
5814
  }
@@ -6089,7 +6142,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6089
6142
  "reason": literal("plugin-missing"),
6090
6143
  "message": string()
6091
6144
  })]);
6092
- const TYPERT_REMOTE$7 = {
6145
+ const TYPERT_REMOTE$8 = {
6093
6146
  package: "@deepseek-ai/dsh-cordis-host-runner",
6094
6147
  descriptors: [
6095
6148
  {
@@ -6690,7 +6743,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6690
6743
  }
6691
6744
  ]
6692
6745
  };
6693
- const TYPERT_REMOTE$6 = {
6746
+ const TYPERT_REMOTE$7 = {
6694
6747
  package: "@deepseek-ai/dsh-host-plugin-inventory",
6695
6748
  descriptors: [{
6696
6749
  id: "@deepseek-ai/dsh-host-plugin-inventory#pluginInventory/list",
@@ -6843,7 +6896,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6843
6896
  })
6844
6897
  ]).readonly()
6845
6898
  })]);
6846
- const TYPERT_REMOTE$5 = {
6899
+ const TYPERT_REMOTE$6 = {
6847
6900
  package: "@deepseek-ai/dsh-message-feedback",
6848
6901
  descriptors: [
6849
6902
  {
@@ -6944,7 +6997,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
6944
6997
  "bytes": number()
6945
6998
  }).readonly()
6946
6999
  });
6947
- const TYPERT_REMOTE$4 = {
7000
+ const TYPERT_REMOTE$5 = {
6948
7001
  package: "@deepseek-ai/dsh-client-file-upload",
6949
7002
  descriptors: [{
6950
7003
  id: "@deepseek-ai/dsh-client-file-upload#fileUploads/upload",
@@ -7001,7 +7054,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7001
7054
  "sameWorkspace": boolean(),
7002
7055
  "createdAt": number()
7003
7056
  }));
7004
- const TYPERT_REMOTE$3 = {
7057
+ const TYPERT_REMOTE$4 = {
7005
7058
  package: "@deepseek-ai/dsh-session-reference",
7006
7059
  descriptors: [{
7007
7060
  id: "@deepseek-ai/dsh-session-reference#sessionReferenceResolver/candidates",
@@ -7109,7 +7162,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7109
7162
  "clientTimeZone": string().readonly().optional()
7110
7163
  });
7111
7164
  const _deepseek_ai_dsh_subagent_subagents_prompt_result$schema = object({ "messageId": intersection(string(), unknown()).readonly() });
7112
- const TYPERT_REMOTE$2 = {
7165
+ const TYPERT_REMOTE$3 = {
7113
7166
  package: "@deepseek-ai/dsh-subagent",
7114
7167
  descriptors: [
7115
7168
  {
@@ -7384,6 +7437,26 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7384
7437
  "projections": record(intersection(string(), unknown()), object({
7385
7438
  "asOfSeq": number().readonly(),
7386
7439
  "values": intersection(object({
7440
+ "inbox": object({
7441
+ "next-turn": array(union([
7442
+ literal(null),
7443
+ string(),
7444
+ number(),
7445
+ literal(false),
7446
+ literal(true),
7447
+ array(lazy(() => JsonValueRemoteCodec$schema4)),
7448
+ record(string(), lazy(() => JsonValueRemoteCodec$schema4))
7449
+ ])).readonly(),
7450
+ "next-step": array(union([
7451
+ literal(null),
7452
+ string(),
7453
+ number(),
7454
+ literal(false),
7455
+ literal(true),
7456
+ array(lazy(() => JsonValueRemoteCodec$schema4)),
7457
+ record(string(), lazy(() => JsonValueRemoteCodec$schema4))
7458
+ ])).readonly()
7459
+ }).optional(),
7387
7460
  "agentPreset": union([literal(null), string()]).optional(),
7388
7461
  "title": union([literal(null), string()]).optional(),
7389
7462
  "todos": union([literal(null), array(object({
@@ -7575,12 +7648,24 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7575
7648
  record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7576
7649
  ]).readonly(),
7577
7650
  "ignorable": literal(true).readonly().optional(),
7578
- "sourceEventSeqs": array(number()).readonly().optional(),
7579
- "surfaceOp": union([literal("append"), object({
7580
- "op": literal("replace").readonly(),
7581
- "start": number().readonly(),
7582
- "end": number().readonly()
7583
- })]).readonly().optional()
7651
+ "sourceEventSeqs": union([
7652
+ literal(null),
7653
+ string(),
7654
+ number(),
7655
+ literal(false),
7656
+ literal(true),
7657
+ array(lazy(() => JsonValueRemoteCodec$schema3)),
7658
+ record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7659
+ ]).readonly().optional(),
7660
+ "surfaceOp": union([
7661
+ literal(null),
7662
+ string(),
7663
+ number(),
7664
+ literal(false),
7665
+ literal(true),
7666
+ array(lazy(() => JsonValueRemoteCodec$schema3)),
7667
+ record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7668
+ ]).readonly().optional()
7584
7669
  }).readonly()
7585
7670
  }),
7586
7671
  object({
@@ -7613,18 +7698,50 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7613
7698
  record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7614
7699
  ]).readonly(),
7615
7700
  "ignorable": literal(true).readonly().optional(),
7616
- "sourceEventSeqs": array(number()).readonly().optional(),
7617
- "surfaceOp": union([literal("append"), object({
7618
- "op": literal("replace").readonly(),
7619
- "start": number().readonly(),
7620
- "end": number().readonly()
7621
- })]).readonly().optional()
7701
+ "sourceEventSeqs": union([
7702
+ literal(null),
7703
+ string(),
7704
+ number(),
7705
+ literal(false),
7706
+ literal(true),
7707
+ array(lazy(() => JsonValueRemoteCodec$schema3)),
7708
+ record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7709
+ ]).readonly().optional(),
7710
+ "surfaceOp": union([
7711
+ literal(null),
7712
+ string(),
7713
+ number(),
7714
+ literal(false),
7715
+ literal(true),
7716
+ array(lazy(() => JsonValueRemoteCodec$schema3)),
7717
+ record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7718
+ ]).readonly().optional()
7622
7719
  }).readonly()
7623
7720
  })).readonly(),
7624
7721
  "hasMore": boolean().readonly(),
7625
7722
  "projections": object({
7626
7723
  "asOfSeq": number().readonly(),
7627
7724
  "values": intersection(object({
7725
+ "inbox": object({
7726
+ "next-turn": array(union([
7727
+ literal(null),
7728
+ string(),
7729
+ number(),
7730
+ literal(false),
7731
+ literal(true),
7732
+ array(lazy(() => JsonValueRemoteCodec$schema3)),
7733
+ record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7734
+ ])).readonly(),
7735
+ "next-step": array(union([
7736
+ literal(null),
7737
+ string(),
7738
+ number(),
7739
+ literal(false),
7740
+ literal(true),
7741
+ array(lazy(() => JsonValueRemoteCodec$schema3)),
7742
+ record(string(), lazy(() => JsonValueRemoteCodec$schema3))
7743
+ ])).readonly()
7744
+ }).optional(),
7628
7745
  "agentPreset": union([literal(null), string()]).optional(),
7629
7746
  "title": union([literal(null), string()]).optional(),
7630
7747
  "todos": union([literal(null), array(object({
@@ -7793,6 +7910,26 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7793
7910
  "projections": object({
7794
7911
  "asOfSeq": number().readonly(),
7795
7912
  "values": intersection(object({
7913
+ "inbox": object({
7914
+ "next-turn": array(union([
7915
+ literal(null),
7916
+ string(),
7917
+ number(),
7918
+ literal(false),
7919
+ literal(true),
7920
+ array(lazy(() => JsonValueRemoteCodec$schema)),
7921
+ record(string(), lazy(() => JsonValueRemoteCodec$schema))
7922
+ ])).readonly(),
7923
+ "next-step": array(union([
7924
+ literal(null),
7925
+ string(),
7926
+ number(),
7927
+ literal(false),
7928
+ literal(true),
7929
+ array(lazy(() => JsonValueRemoteCodec$schema)),
7930
+ record(string(), lazy(() => JsonValueRemoteCodec$schema))
7931
+ ])).readonly()
7932
+ }).optional(),
7796
7933
  "agentPreset": union([literal(null), string()]).optional(),
7797
7934
  "title": union([literal(null), string()]).optional(),
7798
7935
  "todos": union([literal(null), array(object({
@@ -7947,12 +8084,24 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7947
8084
  record(string(), lazy(() => JsonValueRemoteCodec$schema2))
7948
8085
  ]).readonly(),
7949
8086
  "ignorable": literal(true).readonly().optional(),
7950
- "sourceEventSeqs": array(number()).readonly().optional(),
7951
- "surfaceOp": union([literal("append"), object({
7952
- "op": literal("replace").readonly(),
7953
- "start": number().readonly(),
7954
- "end": number().readonly()
7955
- })]).readonly().optional()
8087
+ "sourceEventSeqs": union([
8088
+ literal(null),
8089
+ string(),
8090
+ number(),
8091
+ literal(false),
8092
+ literal(true),
8093
+ array(lazy(() => JsonValueRemoteCodec$schema2)),
8094
+ record(string(), lazy(() => JsonValueRemoteCodec$schema2))
8095
+ ]).readonly().optional(),
8096
+ "surfaceOp": union([
8097
+ literal(null),
8098
+ string(),
8099
+ number(),
8100
+ literal(false),
8101
+ literal(true),
8102
+ array(lazy(() => JsonValueRemoteCodec$schema2)),
8103
+ record(string(), lazy(() => JsonValueRemoteCodec$schema2))
8104
+ ]).readonly().optional()
7956
8105
  }).readonly()
7957
8106
  })).readonly(),
7958
8107
  "hasMore": boolean().readonly()
@@ -8081,7 +8230,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8081
8230
  "whenToUse": string().readonly().optional(),
8082
8231
  "modelInvocable": boolean().readonly()
8083
8232
  })).readonly() });
8084
- const TYPERT_REMOTE$1 = {
8233
+ const TYPERT_REMOTE$2 = {
8085
8234
  package: "@deepseek-ai/dsh-api-session-controller",
8086
8235
  descriptors: [
8087
8236
  {
@@ -8149,7 +8298,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8149
8298
  },
8150
8299
  sourceLocation: {
8151
8300
  "file": "packages/api/session-controller/src/index.ts",
8152
- "line": 340,
8301
+ "line": 342,
8153
8302
  "column": 3
8154
8303
  }
8155
8304
  },
@@ -8176,7 +8325,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8176
8325
  },
8177
8326
  sourceLocation: {
8178
8327
  "file": "packages/api/session-controller/src/index.ts",
8179
- "line": 360,
8328
+ "line": 362,
8180
8329
  "column": 3
8181
8330
  }
8182
8331
  },
@@ -8194,7 +8343,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8194
8343
  },
8195
8344
  sourceLocation: {
8196
8345
  "file": "packages/api/session-controller/src/index.ts",
8197
- "line": 265,
8346
+ "line": 267,
8198
8347
  "column": 3
8199
8348
  }
8200
8349
  },
@@ -8214,7 +8363,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8214
8363
  },
8215
8364
  sourceLocation: {
8216
8365
  "file": "packages/api/session-controller/src/index.ts",
8217
- "line": 393,
8366
+ "line": 395,
8218
8367
  "column": 3
8219
8368
  }
8220
8369
  },
@@ -8241,7 +8390,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8241
8390
  },
8242
8391
  sourceLocation: {
8243
8392
  "file": "packages/api/session-controller/src/index.ts",
8244
- "line": 237,
8393
+ "line": 239,
8245
8394
  "column": 3
8246
8395
  }
8247
8396
  },
@@ -8270,7 +8419,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8270
8419
  },
8271
8420
  sourceLocation: {
8272
8421
  "file": "packages/api/session-controller/src/index.ts",
8273
- "line": 383,
8422
+ "line": 385,
8274
8423
  "column": 3
8275
8424
  }
8276
8425
  },
@@ -8297,7 +8446,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8297
8446
  },
8298
8447
  sourceLocation: {
8299
8448
  "file": "packages/api/session-controller/src/index.ts",
8300
- "line": 318,
8449
+ "line": 320,
8301
8450
  "column": 3
8302
8451
  }
8303
8452
  },
@@ -8325,7 +8474,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8325
8474
  },
8326
8475
  sourceLocation: {
8327
8476
  "file": "packages/api/session-controller/src/index.ts",
8328
- "line": 216,
8477
+ "line": 218,
8329
8478
  "column": 9
8330
8479
  }
8331
8480
  },
@@ -8343,7 +8492,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8343
8492
  },
8344
8493
  sourceLocation: {
8345
8494
  "file": "packages/api/session-controller/src/index.ts",
8346
- "line": 256,
8495
+ "line": 258,
8347
8496
  "column": 3
8348
8497
  }
8349
8498
  },
@@ -8371,7 +8520,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8371
8520
  },
8372
8521
  sourceLocation: {
8373
8522
  "file": "packages/api/session-controller/src/index.ts",
8374
- "line": 277,
8523
+ "line": 279,
8375
8524
  "column": 9
8376
8525
  }
8377
8526
  },
@@ -8399,7 +8548,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8399
8548
  },
8400
8549
  sourceLocation: {
8401
8550
  "file": "packages/api/session-controller/src/index.ts",
8402
- "line": 371,
8551
+ "line": 373,
8403
8552
  "column": 3
8404
8553
  }
8405
8554
  },
@@ -8427,7 +8576,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8427
8576
  },
8428
8577
  sourceLocation: {
8429
8578
  "file": "packages/api/session-controller/src/index.ts",
8430
- "line": 329,
8579
+ "line": 331,
8431
8580
  "column": 3
8432
8581
  }
8433
8582
  },
@@ -8454,7 +8603,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8454
8603
  },
8455
8604
  sourceLocation: {
8456
8605
  "file": "packages/api/session-controller/src/index.ts",
8457
- "line": 308,
8606
+ "line": 310,
8458
8607
  "column": 3
8459
8608
  }
8460
8609
  },
@@ -8482,7 +8631,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8482
8631
  },
8483
8632
  sourceLocation: {
8484
8633
  "file": "packages/api/session-controller/src/index.ts",
8485
- "line": 227,
8634
+ "line": 229,
8486
8635
  "column": 3
8487
8636
  }
8488
8637
  },
@@ -8509,7 +8658,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8509
8658
  },
8510
8659
  sourceLocation: {
8511
8660
  "file": "packages/api/session-controller/src/index.ts",
8512
- "line": 247,
8661
+ "line": 249,
8513
8662
  "column": 3
8514
8663
  }
8515
8664
  },
@@ -8536,7 +8685,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8536
8685
  },
8537
8686
  sourceLocation: {
8538
8687
  "file": "packages/api/session-controller/src/index.ts",
8539
- "line": 350,
8688
+ "line": 352,
8540
8689
  "column": 3
8541
8690
  }
8542
8691
  },
@@ -8677,7 +8826,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8677
8826
  "createdAt": string().readonly(),
8678
8827
  "updatedAt": string().readonly()
8679
8828
  }).readonly() });
8680
- const TYPERT_REMOTE = {
8829
+ const TYPERT_REMOTE$1 = {
8681
8830
  package: "@deepseek-ai/dsh-api-workspace-controller",
8682
8831
  descriptors: [
8683
8832
  {
@@ -8949,6 +9098,303 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8949
9098
  ]
8950
9099
  };
8951
9100
  //#endregion
9101
+ //#region ../workspace-files/lib/typert.remote-client.js
9102
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_changes_parameter_0$schema = intersection(string(), unknown());
9103
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_changes_result$schema = union([object({ "kind": literal("ready").readonly() }), object({
9104
+ "kind": literal("change").readonly(),
9105
+ "change": union([object({
9106
+ "absolutePath": string().readonly(),
9107
+ "version": string().readonly()
9108
+ }), object({
9109
+ "absolutePath": string().readonly(),
9110
+ "absent": literal(true).readonly()
9111
+ })]).readonly()
9112
+ })]);
9113
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_list_parameter_0$schema = intersection(string(), unknown());
9114
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_list_parameter_1$schema = string();
9115
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_list_result$schema = object({
9116
+ "path": string().readonly(),
9117
+ "entries": array(object({
9118
+ "name": string().readonly(),
9119
+ "type": union([
9120
+ literal("file"),
9121
+ literal("directory"),
9122
+ literal("other")
9123
+ ]).readonly(),
9124
+ "size": number().readonly().optional()
9125
+ })).readonly(),
9126
+ "truncated": boolean().readonly()
9127
+ });
9128
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_parameter_0$schema = intersection(string(), unknown());
9129
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_parameter_1$schema = string();
9130
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_parameter_2$schema = object({
9131
+ "offset": number().readonly().optional(),
9132
+ "limit": number().readonly().optional()
9133
+ });
9134
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_result$schema = object({
9135
+ "offset": number().readonly(),
9136
+ "text": string().readonly(),
9137
+ "lines": number().readonly(),
9138
+ "eof": boolean().readonly(),
9139
+ "absolutePath": string().readonly(),
9140
+ "version": string().readonly(),
9141
+ "bytes": number().readonly().optional()
9142
+ });
9143
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_parameter_0$schema = intersection(string(), unknown());
9144
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_parameter_1$schema = string();
9145
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_parameter_2$schema = object({
9146
+ "offset": number().readonly().optional(),
9147
+ "length": number().readonly().optional()
9148
+ });
9149
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_result$schema = object({
9150
+ "offset": number().readonly(),
9151
+ "data": string().readonly(),
9152
+ "eof": boolean().readonly(),
9153
+ "absolutePath": string().readonly(),
9154
+ "version": string().readonly(),
9155
+ "bytes": number().readonly().optional()
9156
+ });
9157
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_stat_parameter_0$schema = intersection(string(), unknown());
9158
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_stat_parameter_1$schema = string();
9159
+ const _deepseek_ai_dsh_api_workspace_files_workspaceFiles_stat_result$schema = object({
9160
+ "absolutePath": string().readonly(),
9161
+ "version": string().readonly(),
9162
+ "bytes": number().readonly().optional()
9163
+ });
9164
+ const TYPERT_REMOTE = {
9165
+ package: "@deepseek-ai/dsh-api-workspace-files",
9166
+ descriptors: [
9167
+ {
9168
+ id: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/changes",
9169
+ service: "workspaceFiles",
9170
+ namespace: "workspaceFiles",
9171
+ method: "changes",
9172
+ mode: "stream",
9173
+ invocation: { kind: "direct" },
9174
+ scope: {
9175
+ context: "agent",
9176
+ wire: "agentId"
9177
+ },
9178
+ parameters: [{
9179
+ name: "agent",
9180
+ wire: "agentId",
9181
+ source: "lookup",
9182
+ lookup: "agent",
9183
+ codec: {
9184
+ mode: "strict",
9185
+ typeSymbol: "@deepseek-ai/dsh-session/types#SessionId",
9186
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_changes_parameter_0$schema
9187
+ }
9188
+ }],
9189
+ cancellation: { parameter: "signal" },
9190
+ result: {
9191
+ mode: "strict",
9192
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files/types#WorkspaceFileWatchFrame",
9193
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_changes_result$schema
9194
+ },
9195
+ sourceLocation: {
9196
+ "file": "packages/api/workspace-files/src/index.ts",
9197
+ "line": 274,
9198
+ "column": 3
9199
+ }
9200
+ },
9201
+ {
9202
+ id: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/list",
9203
+ service: "workspaceFiles",
9204
+ namespace: "workspaceFiles",
9205
+ method: "list",
9206
+ invocation: { kind: "direct" },
9207
+ scope: {
9208
+ context: "agent",
9209
+ wire: "agentId"
9210
+ },
9211
+ parameters: [{
9212
+ name: "agent",
9213
+ wire: "agentId",
9214
+ source: "lookup",
9215
+ lookup: "agent",
9216
+ codec: {
9217
+ mode: "strict",
9218
+ typeSymbol: "@deepseek-ai/dsh-session/types#SessionId",
9219
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_list_parameter_0$schema
9220
+ }
9221
+ }, {
9222
+ name: "path",
9223
+ wire: "path",
9224
+ source: "json",
9225
+ codec: {
9226
+ mode: "strict",
9227
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/list:path",
9228
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_list_parameter_1$schema
9229
+ }
9230
+ }],
9231
+ cancellation: { parameter: "signal" },
9232
+ result: {
9233
+ mode: "strict",
9234
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files/types#WorkspaceDirectoryListing",
9235
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_list_result$schema
9236
+ },
9237
+ sourceLocation: {
9238
+ "file": "packages/api/workspace-files/src/index.ts",
9239
+ "line": 246,
9240
+ "column": 9
9241
+ }
9242
+ },
9243
+ {
9244
+ id: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/read",
9245
+ service: "workspaceFiles",
9246
+ namespace: "workspaceFiles",
9247
+ method: "read",
9248
+ invocation: { kind: "direct" },
9249
+ scope: {
9250
+ context: "agent",
9251
+ wire: "agentId"
9252
+ },
9253
+ parameters: [
9254
+ {
9255
+ name: "agent",
9256
+ wire: "agentId",
9257
+ source: "lookup",
9258
+ lookup: "agent",
9259
+ codec: {
9260
+ mode: "strict",
9261
+ typeSymbol: "@deepseek-ai/dsh-session/types#SessionId",
9262
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_parameter_0$schema
9263
+ }
9264
+ },
9265
+ {
9266
+ name: "path",
9267
+ wire: "path",
9268
+ source: "json",
9269
+ codec: {
9270
+ mode: "strict",
9271
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/read:path",
9272
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_parameter_1$schema
9273
+ }
9274
+ },
9275
+ {
9276
+ name: "range",
9277
+ wire: "range",
9278
+ source: "json",
9279
+ codec: {
9280
+ mode: "strict",
9281
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files/types#WorkspaceFileRange",
9282
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_parameter_2$schema
9283
+ }
9284
+ }
9285
+ ],
9286
+ cancellation: { parameter: "signal" },
9287
+ result: {
9288
+ mode: "strict",
9289
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files/types#WorkspaceFileText",
9290
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_read_result$schema
9291
+ },
9292
+ sourceLocation: {
9293
+ "file": "packages/api/workspace-files/src/index.ts",
9294
+ "line": 197,
9295
+ "column": 9
9296
+ }
9297
+ },
9298
+ {
9299
+ id: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/readBytes",
9300
+ service: "workspaceFiles",
9301
+ namespace: "workspaceFiles",
9302
+ method: "readBytes",
9303
+ invocation: { kind: "direct" },
9304
+ scope: {
9305
+ context: "agent",
9306
+ wire: "agentId"
9307
+ },
9308
+ parameters: [
9309
+ {
9310
+ name: "agent",
9311
+ wire: "agentId",
9312
+ source: "lookup",
9313
+ lookup: "agent",
9314
+ codec: {
9315
+ mode: "strict",
9316
+ typeSymbol: "@deepseek-ai/dsh-session/types#SessionId",
9317
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_parameter_0$schema
9318
+ }
9319
+ },
9320
+ {
9321
+ name: "path",
9322
+ wire: "path",
9323
+ source: "json",
9324
+ codec: {
9325
+ mode: "strict",
9326
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/readBytes:path",
9327
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_parameter_1$schema
9328
+ }
9329
+ },
9330
+ {
9331
+ name: "range",
9332
+ wire: "range",
9333
+ source: "json",
9334
+ codec: {
9335
+ mode: "strict",
9336
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files/types#WorkspaceByteRange",
9337
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_parameter_2$schema
9338
+ }
9339
+ }
9340
+ ],
9341
+ cancellation: { parameter: "signal" },
9342
+ result: {
9343
+ mode: "strict",
9344
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files/types#WorkspaceFileBytes",
9345
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_readBytes_result$schema
9346
+ },
9347
+ sourceLocation: {
9348
+ "file": "packages/api/workspace-files/src/index.ts",
9349
+ "line": 217,
9350
+ "column": 9
9351
+ }
9352
+ },
9353
+ {
9354
+ id: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/stat",
9355
+ service: "workspaceFiles",
9356
+ namespace: "workspaceFiles",
9357
+ method: "stat",
9358
+ invocation: { kind: "direct" },
9359
+ scope: {
9360
+ context: "agent",
9361
+ wire: "agentId"
9362
+ },
9363
+ parameters: [{
9364
+ name: "agent",
9365
+ wire: "agentId",
9366
+ source: "lookup",
9367
+ lookup: "agent",
9368
+ codec: {
9369
+ mode: "strict",
9370
+ typeSymbol: "@deepseek-ai/dsh-session/types#SessionId",
9371
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_stat_parameter_0$schema
9372
+ }
9373
+ }, {
9374
+ name: "path",
9375
+ wire: "path",
9376
+ source: "json",
9377
+ codec: {
9378
+ mode: "strict",
9379
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files#workspaceFiles/stat:path",
9380
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_stat_parameter_1$schema
9381
+ }
9382
+ }],
9383
+ cancellation: { parameter: "signal" },
9384
+ result: {
9385
+ mode: "strict",
9386
+ typeSymbol: "@deepseek-ai/dsh-api-workspace-files/types#WorkspaceFileStat",
9387
+ schema: _deepseek_ai_dsh_api_workspace_files_workspaceFiles_stat_result$schema
9388
+ },
9389
+ sourceLocation: {
9390
+ "file": "packages/api/workspace-files/src/index.ts",
9391
+ "line": 233,
9392
+ "column": 9
9393
+ }
9394
+ }
9395
+ ]
9396
+ };
9397
+ //#endregion
8952
9398
  //#region lib/types/client/index.js
8953
9399
  /** Platform-neutral assembly of generated Host Remote contributions. */
8954
9400
  /** Required service: the typed Client Remote contribution mount. */
@@ -8962,6 +9408,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
8962
9408
  const disposers = [];
8963
9409
  try {
8964
9410
  for (const contribution of [
9411
+ TYPERT_REMOTE$13,
8965
9412
  TYPERT_REMOTE$12,
8966
9413
  TYPERT_REMOTE$11,
8967
9414
  TYPERT_REMOTE$10,
package/lib/index.js CHANGED
@@ -51,6 +51,10 @@ const API_REMOTE_FORWARDED_EVENTS = [
51
51
  event: "credentials/reference-updated",
52
52
  mode: "emit"
53
53
  },
54
+ {
55
+ event: "goal/activation-changed",
56
+ mode: "emit"
57
+ },
54
58
  {
55
59
  event: "cordis/request-run",
56
60
  mode: "emit"
@@ -109,13 +113,14 @@ function remoteEventSource(ctx) {
109
113
  });
110
114
  }));
111
115
  return ctx.on(event, (function(request, next) {
112
- const subject = carrierKeyOf(this);
113
- if (subject === void 0) return next();
114
- const value = Reflect.get(subject, "ctx");
115
- if (typeof value !== "object" || value === null) throw new TypeError(`forwarded scoped event ${JSON.stringify(event)} has no live Context`);
116
+ const carrierAgent = carrierKeyOf(this);
117
+ if (carrierAgent === void 0) return next();
118
+ const agent = request.agent;
119
+ if (agent === void 0 || agent !== carrierAgent) throw new TypeError(`forwarded scoped event ${JSON.stringify(event)} must carry its Agent directly`);
116
120
  return forwardWaterfall(queue, event, request, {
117
- value,
118
- subject
121
+ value: agent.ctx,
122
+ subject: agent,
123
+ agentId: agent.id
119
124
  }, next);
120
125
  }));
121
126
  });
@@ -18,6 +18,8 @@ export type {} from '@deepseek-ai/dsh-api-session-controller/remote';
18
18
  export type * from '@deepseek-ai/dsh-api-session-controller/types';
19
19
  export type {} from '@deepseek-ai/dsh-api-workspace-controller/remote';
20
20
  export type * from '@deepseek-ai/dsh-api-workspace-controller/types';
21
+ export type {} from '@deepseek-ai/dsh-api-workspace-files/remote';
22
+ export type * from '@deepseek-ai/dsh-api-workspace-files/types';
21
23
  export type { SessionJob as JobView } from '@deepseek-ai/dsh-api-session-controller/types';
22
24
  export type { ApiRemoteForwardedEvent } from '../types.ts';
23
25
  export type {} from '@deepseek-ai/dsh-commands/types';
@@ -12,6 +12,7 @@ import sessionReferencesRemote from '@deepseek-ai/dsh-session-reference/remote';
12
12
  import subagentsRemote from '@deepseek-ai/dsh-subagent/remote';
13
13
  import sessionRemote from '@deepseek-ai/dsh-api-session-controller/remote';
14
14
  import workspaceRemote from '@deepseek-ai/dsh-api-workspace-controller/remote';
15
+ import workspaceFilesRemote from '@deepseek-ai/dsh-api-workspace-files/remote';
15
16
  /** Required service: the typed Client Remote contribution mount. */
16
17
  export const inject = ['remote'];
17
18
  /**
@@ -25,7 +26,7 @@ export async function apply(ctx) {
25
26
  for (const contribution of [
26
27
  agentPresetsRemote, commandsRemote, settingsControllerRemote, goalsRemote, llmRemote, dynamicRemote,
27
28
  pluginInventoryRemote, messageFeedbackRemote, fileUploadsRemote, sessionReferencesRemote,
28
- subagentsRemote, sessionRemote, workspaceRemote,
29
+ subagentsRemote, sessionRemote, workspaceRemote, workspaceFilesRemote,
29
30
  ]) {
30
31
  disposers.push(await ctx.remote.$mount(contribution));
31
32
  }
@@ -22,14 +22,14 @@ function remoteEventSource(ctx) {
22
22
  }));
23
23
  }
24
24
  return ctx.on(event, (function (request, next) {
25
- const subject = carrierKeyOf(this);
26
- if (subject === undefined)
25
+ const carrierAgent = carrierKeyOf(this);
26
+ if (carrierAgent === undefined)
27
27
  return next();
28
- const value = Reflect.get(subject, 'ctx');
29
- if (typeof value !== 'object' || value === null) {
30
- throw new TypeError(`forwarded scoped event ${JSON.stringify(event)} has no live Context`);
28
+ const agent = request.agent;
29
+ if (agent === undefined || agent !== carrierAgent) {
30
+ throw new TypeError(`forwarded scoped event ${JSON.stringify(event)} must carry its Agent directly`);
31
31
  }
32
- return forwardWaterfall(queue, event, request, { value: value, subject }, next);
32
+ return forwardWaterfall(queue, event, request, { value: agent.ctx, subject: agent, agentId: agent.id }, next);
33
33
  }));
34
34
  });
35
35
  return queue.iterate(signal, () => {
@@ -36,6 +36,9 @@ export declare const API_REMOTE_FORWARDED_EVENTS: readonly [{
36
36
  }, {
37
37
  readonly event: "credentials/reference-updated";
38
38
  readonly mode: "emit";
39
+ }, {
40
+ readonly event: "goal/activation-changed";
41
+ readonly mode: "emit";
39
42
  }, {
40
43
  readonly event: "cordis/request-run";
41
44
  readonly mode: "emit";
@@ -19,6 +19,7 @@ export const API_REMOTE_FORWARDED_EVENTS = [
19
19
  { event: 'api-session/status', mode: 'emit' },
20
20
  { event: 'commands/change', mode: 'emit' },
21
21
  { event: 'credentials/reference-updated', mode: 'emit' },
22
+ { event: 'goal/activation-changed', mode: 'emit' },
22
23
  { event: 'cordis/request-run', mode: 'emit' },
23
24
  { event: 'cordis/request-run-resolved', mode: 'emit' },
24
25
  { event: 'cordis/dynamic-package', mode: 'emit' },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-api-remotes",
3
3
  "description": "Remote BFF assembly for application-selected Host capabilities",
4
- "version": "0.1.3-alpha.2",
4
+ "version": "0.1.5-alpha.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -46,39 +46,41 @@
46
46
  "lib/types/**/*.d.ts"
47
47
  ],
48
48
  "dependencies": {
49
- "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
50
- "@deepseek-ai/dsh-util-values": "^0.1.3-alpha.2",
51
- "@deepseek-ai/dsh-deque": "^0.1.3-alpha.2"
49
+ "@deepseek-ai/dsh-deque": "^0.1.5-alpha.1",
50
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
51
+ "@deepseek-ai/dsh-util-values": "^0.1.5-alpha.1"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@deepseek-ai/cordis": "^4.0.2",
55
- "@deepseek-ai/dsh-scope": "^0.1.3-alpha.2"
55
+ "@deepseek-ai/dsh-scope": "^0.1.5-alpha.1"
56
56
  },
57
57
  "devDependencies": {
58
58
  "zod": "^4.4.3",
59
59
  "@deepseek-ai/cordis": "^4.0.2",
60
- "@deepseek-ai/dsh-api-gateway": "^0.1.3-alpha.2",
61
- "@deepseek-ai/dsh-agent-presets": "^0.1.3-alpha.2",
62
- "@deepseek-ai/dsh-api-settings-controller": "^0.1.3-alpha.2",
63
- "@deepseek-ai/dsh-api-workspace-controller": "^0.1.3-alpha.2",
64
- "@deepseek-ai/dsh-commands": "^0.1.3-alpha.2",
65
- "@deepseek-ai/dsh-cordis-host-runner": "^0.1.3-alpha.2",
66
- "@deepseek-ai/dsh-credentials": "^0.1.3-alpha.2",
67
- "@deepseek-ai/dsh-file-reference": "^0.1.3-alpha.2",
68
- "@deepseek-ai/dsh-host-plugin-inventory": "^0.1.3-alpha.2",
69
- "@deepseek-ai/dsh-llm": "^0.1.3-alpha.2",
70
- "@deepseek-ai/dsh-message-feedback": "^0.1.3-alpha.2",
71
- "@deepseek-ai/dsh-session-reference": "^0.1.3-alpha.2",
72
- "@deepseek-ai/dsh-settings": "^0.1.3-alpha.2",
73
- "@deepseek-ai/dsh-subagent": "^0.1.3-alpha.2",
74
- "@deepseek-ai/dsh-user-approval": "^0.1.3-alpha.2",
75
- "@deepseek-ai/dsh-user-questions": "^0.1.3-alpha.2",
76
- "@deepseek-ai/dsh-client-connection": "^0.1.3-alpha.2",
77
- "@deepseek-ai/dsh-goal": "^0.1.3-alpha.2",
78
- "@deepseek-ai/dsh-typert-protocol": "^0.1.3-alpha.2",
79
- "@deepseek-ai/dsh-scope": "^0.1.3-alpha.2",
80
- "@deepseek-ai/dsh-api-session-controller": "^0.1.3-alpha.2",
81
- "@deepseek-ai/dsh-client-file-upload": "^0.1.3-alpha.2"
60
+ "@deepseek-ai/dsh-agent": "^0.1.5-alpha.1",
61
+ "@deepseek-ai/dsh-agent-presets": "^0.1.5-alpha.1",
62
+ "@deepseek-ai/dsh-api-gateway": "^0.1.5-alpha.1",
63
+ "@deepseek-ai/dsh-api-settings-controller": "^0.1.5-alpha.1",
64
+ "@deepseek-ai/dsh-commands": "^0.1.5-alpha.1",
65
+ "@deepseek-ai/dsh-cordis-host-runner": "^0.1.5-alpha.1",
66
+ "@deepseek-ai/dsh-credentials": "^0.1.5-alpha.1",
67
+ "@deepseek-ai/dsh-file-reference": "^0.1.5-alpha.1",
68
+ "@deepseek-ai/dsh-goal": "^0.1.5-alpha.1",
69
+ "@deepseek-ai/dsh-host-plugin-inventory": "^0.1.5-alpha.1",
70
+ "@deepseek-ai/dsh-llm": "^0.1.5-alpha.1",
71
+ "@deepseek-ai/dsh-message-feedback": "^0.1.5-alpha.1",
72
+ "@deepseek-ai/dsh-session-reference": "^0.1.5-alpha.1",
73
+ "@deepseek-ai/dsh-settings": "^0.1.5-alpha.1",
74
+ "@deepseek-ai/dsh-api-workspace-controller": "^0.1.5-alpha.1",
75
+ "@deepseek-ai/dsh-user-questions": "^0.1.5-alpha.1",
76
+ "@deepseek-ai/dsh-client-connection": "^0.1.5-alpha.1",
77
+ "@deepseek-ai/dsh-client-file-upload": "^0.1.5-alpha.1",
78
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.5-alpha.1",
79
+ "@deepseek-ai/dsh-scope": "^0.1.5-alpha.1",
80
+ "@deepseek-ai/dsh-api-session-controller": "^0.1.5-alpha.1",
81
+ "@deepseek-ai/dsh-api-workspace-files": "^0.1.5-alpha.1",
82
+ "@deepseek-ai/dsh-user-approval": "^0.1.5-alpha.1",
83
+ "@deepseek-ai/dsh-subagent": "^0.1.5-alpha.1"
82
84
  },
83
85
  "scripts": {
84
86
  "bundle": "tsdown",