shennian 0.4.69 → 0.4.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/publish-build-manifest.json +125 -70
  2. package/dist/src/agent-env.js +4 -4
  3. package/dist/src/agents/adapter.d.ts +7 -3
  4. package/dist/src/agents/auth-status.d.ts +4 -0
  5. package/dist/src/agents/auth-status.js +2 -0
  6. package/dist/src/agents/codex-protocol.d.ts +103 -0
  7. package/dist/src/agents/codex-protocol.js +3 -0
  8. package/dist/src/agents/codex-runtime.d.ts +91 -0
  9. package/dist/src/agents/codex-runtime.js +14 -0
  10. package/dist/src/agents/codex.d.ts +15 -91
  11. package/dist/src/agents/codex.js +2 -17
  12. package/dist/src/agents/command-spec.js +4 -3
  13. package/dist/src/agents/detect.js +1 -1
  14. package/dist/src/agents/manager.d.ts +4 -3
  15. package/dist/src/agents/manager.js +4 -4
  16. package/dist/src/agents/opencode.d.ts +4 -0
  17. package/dist/src/agents/opencode.js +1 -1
  18. package/dist/src/commands/agent-readiness.d.ts +17 -0
  19. package/dist/src/commands/agent-readiness.js +2 -0
  20. package/dist/src/commands/agent.js +2 -2
  21. package/dist/src/commands/daemon-instance-lock.js +1 -1
  22. package/dist/src/commands/daemon-process.d.ts +1 -0
  23. package/dist/src/commands/daemon-process.js +1 -1
  24. package/dist/src/commands/daemon-service-spec.d.ts +28 -0
  25. package/dist/src/commands/daemon-service-spec.js +1 -0
  26. package/dist/src/commands/daemon-start-wait.d.ts +1 -1
  27. package/dist/src/commands/daemon-start-wait.js +1 -1
  28. package/dist/src/commands/daemon-state.d.ts +57 -0
  29. package/dist/src/commands/daemon-state.js +1 -0
  30. package/dist/src/commands/daemon-windows.d.ts +8 -0
  31. package/dist/src/commands/daemon-windows.js +10 -10
  32. package/dist/src/commands/daemon.d.ts +4 -64
  33. package/dist/src/commands/daemon.js +13 -13
  34. package/dist/src/commands/upgrade.js +1 -1
  35. package/dist/src/daemon-ipc/agent-readiness.d.ts +14 -0
  36. package/dist/src/daemon-ipc/agent-readiness.js +1 -0
  37. package/dist/src/daemon-ipc/control.d.ts +1 -1
  38. package/dist/src/daemon-ipc/control.js +1 -1
  39. package/dist/src/index.js +3 -3
  40. package/dist/src/native-fusion/local-repository.d.ts +6 -1
  41. package/dist/src/native-fusion/local-repository.js +2 -2
  42. package/dist/src/native-fusion/service.d.ts +2 -0
  43. package/dist/src/native-fusion/service.js +2 -2
  44. package/dist/src/native-fusion/source-visibility-audit.d.ts +16 -0
  45. package/dist/src/native-fusion/source-visibility-audit.js +1 -0
  46. package/dist/src/native-fusion/source-visibility.d.ts +25 -0
  47. package/dist/src/native-fusion/source-visibility.js +1 -0
  48. package/dist/src/native-fusion/state.d.ts +1 -0
  49. package/dist/src/native-fusion/state.js +2 -2
  50. package/dist/src/native-fusion/types.d.ts +5 -0
  51. package/dist/src/room/managed-room-binding.d.ts +2 -0
  52. package/dist/src/room/managed-room-binding.js +1 -1
  53. package/dist/src/room/room-binding-client.d.ts +1 -0
  54. package/dist/src/room/room-binding-client.js +1 -1
  55. package/dist/src/runtime-distribution.d.ts +13 -0
  56. package/dist/src/runtime-distribution.js +1 -0
  57. package/dist/src/security/managed-agent-policy.d.ts +7 -0
  58. package/dist/src/security/managed-agent-policy.js +1 -1
  59. package/dist/src/session/handlers/agent-workspace-validation.d.ts +1 -0
  60. package/dist/src/session/handlers/agent-workspace-validation.js +1 -1
  61. package/dist/src/session/handlers/agents.d.ts +7 -1
  62. package/dist/src/session/handlers/agents.js +1 -1
  63. package/dist/src/session/handlers/chat-context.d.ts +31 -0
  64. package/dist/src/session/handlers/chat-context.js +1 -0
  65. package/dist/src/session/handlers/chat-events.d.ts +1 -1
  66. package/dist/src/session/handlers/chat-events.js +2 -2
  67. package/dist/src/session/handlers/chat-session-lifecycle.d.ts +2 -2
  68. package/dist/src/session/handlers/chat-session-lifecycle.js +1 -1
  69. package/dist/src/session/handlers/chat.d.ts +3 -29
  70. package/dist/src/session/handlers/chat.js +1 -1
  71. package/dist/src/session/manager.js +2 -2
  72. package/dist/src/session/queue-helpers.js +2 -2
  73. package/dist/src/session/queue-message.d.ts +2 -0
  74. package/dist/src/session/queue.d.ts +7 -1
  75. package/dist/src/session/queue.js +1 -1
  76. package/dist/src/session/queued-chat-dispatch.d.ts +4 -1
  77. package/dist/src/session/queued-chat-dispatch.js +1 -1
  78. package/dist/src/session/store.d.ts +4 -2
  79. package/dist/src/session/store.js +2 -2
  80. package/dist/src/session/types.d.ts +1 -0
  81. package/dist/src/upgrade/engine.js +2 -2
  82. package/dist/src/upgrade/scheduler.js +1 -1
  83. package/dist/src/upgrade/updater-launcher.js +3 -3
  84. package/node_modules/@shennian/wire/dist/room.d.ts +2 -0
  85. package/node_modules/@shennian/wire/dist/session-sync.d.ts +2 -1
  86. package/node_modules/@shennian/wire/dist/session.d.ts +19 -1
  87. package/node_modules/@shennian/wire/dist/session.js +8 -0
  88. package/package.json +1 -1
@@ -279,6 +279,8 @@ export type NianSession = {
279
279
  agentType: AgentType;
280
280
  /** Missing on legacy records/clients and normalized to standard, except legacy agentType=manager. */
281
281
  sessionMode?: SessionMode;
282
+ /** Internal orchestration stays out of personal discovery; linked details remain readable. */
283
+ nativeSessionVisibility?: 'user' | 'internal';
282
284
  managerConfig?: ManagerConfig | null;
283
285
  agentSessionId: string | null;
284
286
  sourceMode?: NativeSessionSourceMode | null;
@@ -336,7 +338,7 @@ export type NianSession = {
336
338
  activity?: SessionActivitySnapshot | null;
337
339
  externalChannel?: ExternalChannelSessionStatus | null;
338
340
  };
339
- export type SessionListProjection = Pick<NianSession, 'id' | 'machineId' | 'userId' | 'agentType' | 'sessionMode' | 'managerConfig' | 'agentSessionId' | 'modelId' | 'managerDefaultWorkerAgentType' | 'managerDefaultWorkerModelId' | 'title' | 'titleSource' | 'titleRevision' | 'titleLockedByUser' | 'titleOriginEventId' | 'status' | 'workDir' | 'lastMessagePreview' | 'lastMessagePreviewMessageId' | 'lastMessagePreviewAt' | 'lastVisibleEventAt' | 'bodyStorageMode' | 'bodyRevision' | 'indexRevision' | 'dataEpoch' | 'firstAvailableSeq' | 'visibleMessageCount' | 'lastVisibleMessageId' | 'attentionCount' | 'lastAttentionId' | 'lastBodyCommittedAt' | 'deletionRevision' | 'lastActivityAt' | 'createdAt' | 'updatedAt' | 'deletedAt' | 'machineName' | 'ownerName' | 'ownerPhone' | 'ownerEmail' | 'canManage' | 'sharedMachineSession' | 'activity' | 'externalChannel'>;
341
+ export type SessionListProjection = Pick<NianSession, 'id' | 'machineId' | 'userId' | 'agentType' | 'sessionMode' | 'nativeSessionVisibility' | 'managerConfig' | 'agentSessionId' | 'modelId' | 'managerDefaultWorkerAgentType' | 'managerDefaultWorkerModelId' | 'title' | 'titleSource' | 'titleRevision' | 'titleLockedByUser' | 'titleOriginEventId' | 'status' | 'workDir' | 'lastMessagePreview' | 'lastMessagePreviewMessageId' | 'lastMessagePreviewAt' | 'lastVisibleEventAt' | 'bodyStorageMode' | 'bodyRevision' | 'indexRevision' | 'dataEpoch' | 'firstAvailableSeq' | 'visibleMessageCount' | 'lastVisibleMessageId' | 'attentionCount' | 'lastAttentionId' | 'lastBodyCommittedAt' | 'deletionRevision' | 'lastActivityAt' | 'createdAt' | 'updatedAt' | 'deletedAt' | 'machineName' | 'ownerName' | 'ownerPhone' | 'ownerEmail' | 'canManage' | 'sharedMachineSession' | 'activity' | 'externalChannel'>;
340
342
  export type ChatSendParams = PersonalSyncIdentity & {
341
343
  sessionId: string;
342
344
  text: string;
@@ -382,6 +384,12 @@ export type QueuedChatMessage = PersonalSyncIdentity & {
382
384
  replyTarget?: string | null;
383
385
  createdAt: string;
384
386
  updatedAt: string;
387
+ /** Presentation state for the shared pending-message panel. */
388
+ pendingState?: 'waiting' | 'submitting' | 'provider_queued';
389
+ /** Whether the current client may delete this item before Provider claim. */
390
+ canDelete?: boolean;
391
+ /** Whether the daemon currently has a truthful immediate-send path. */
392
+ canPromote?: boolean;
385
393
  };
386
394
  export type ChatQueueSnapshot = PersonalSyncIdentity & {
387
395
  sessionId: string;
@@ -389,6 +397,8 @@ export type ChatQueueSnapshot = PersonalSyncIdentity & {
389
397
  pending: QueuedChatMessage[];
390
398
  /** Owner-authored messages that may be deleted or promoted by the current UI. */
391
399
  controllablePending?: QueuedChatMessage[];
400
+ /** All owner-authored pending items that belong in the shared composer panel. */
401
+ visiblePending?: QueuedChatMessage[];
392
402
  };
393
403
  export type ChatEnqueueParams = ChatSendParams & {
394
404
  queueMessageId?: string;
@@ -439,3 +449,11 @@ export type FsReadParams = {
439
449
  path: string;
440
450
  rootPath?: string;
441
451
  };
452
+ /** Visibility is separate from access: an Owner can still open linked internal details. */
453
+ export declare function isInternalSession(session: {
454
+ id: string;
455
+ nativeSessionVisibility?: string | null;
456
+ agentType?: string;
457
+ sessionMode?: string | null;
458
+ agentIdentityId?: string | null;
459
+ }): boolean;
@@ -50,3 +50,11 @@ export function filterAvailableAgentInfos(agents) {
50
50
  }
51
51
  return filtered;
52
52
  }
53
+ /** Visibility is separate from access: an Owner can still open linked internal details. */
54
+ export function isInternalSession(session) {
55
+ return session.nativeSessionVisibility === 'internal'
56
+ || session.id.startsWith('sess_worker_')
57
+ || session.agentType === 'manager'
58
+ || session.sessionMode === 'manager'
59
+ || Boolean(session.agentIdentityId);
60
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shennian",
3
- "version": "0.4.69",
3
+ "version": "0.4.71",
4
4
  "description": "Shennian — AI Agent Control Plane CLI",
5
5
  "type": "module",
6
6
  "bin": {