@canonmsg/claude-code-plugin 0.12.5 → 0.12.7

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 (2) hide show
  1. package/dist/host.js +37 -4
  2. package/package.json +3 -3
package/dist/host.js CHANGED
@@ -366,8 +366,9 @@ function buildClaudeRuntimeInfo(input) {
366
366
  ? {
367
367
  id: 'account',
368
368
  label: 'Account',
369
- value: metadata.account.email,
369
+ value: 'Connected',
370
370
  tone: 'success',
371
+ tier: 'diagnostic',
371
372
  }
372
373
  : null,
373
374
  metadata.account?.subscriptionType
@@ -389,6 +390,7 @@ function buildClaudeRuntimeInfo(input) {
389
390
  id: 'auth',
390
391
  label: 'Auth',
391
392
  value: metadata.account.tokenSource ?? metadata.account?.apiKeySource ?? 'connected',
393
+ tier: 'diagnostic',
392
394
  }
393
395
  : null,
394
396
  runtimeModels[0]
@@ -396,17 +398,21 @@ function buildClaudeRuntimeInfo(input) {
396
398
  id: 'fallbackModel',
397
399
  label: 'Fallback model',
398
400
  value: runtimeModels[0].label,
401
+ tier: 'diagnostic',
402
+ source: 'host-default',
399
403
  }
400
404
  : null,
401
405
  {
402
406
  id: 'toolPolicy',
403
407
  label: 'Tool policy',
404
408
  value: 'Claude Code preset',
409
+ tier: 'detail',
405
410
  },
406
411
  {
407
412
  id: 'browser',
408
413
  label: 'Browser tools',
409
414
  value: 'Runtime policy',
415
+ tier: 'detail',
410
416
  },
411
417
  ].filter((item) => Boolean(item));
412
418
  return {
@@ -426,6 +432,7 @@ function buildClaudeRuntimeInfo(input) {
426
432
  ?? server.scope
427
433
  ?? undefined,
428
434
  })),
435
+ tier: 'diagnostic',
429
436
  },
430
437
  {
431
438
  id: 'plugins',
@@ -436,6 +443,7 @@ function buildClaudeRuntimeInfo(input) {
436
443
  status: 'configured',
437
444
  description: plugin.source ?? plugin.path,
438
445
  })),
446
+ tier: 'diagnostic',
439
447
  },
440
448
  {
441
449
  id: 'commands',
@@ -446,6 +454,7 @@ function buildClaudeRuntimeInfo(input) {
446
454
  status: 'configured',
447
455
  description: command.description ?? command.argumentHint ?? undefined,
448
456
  })),
457
+ tier: 'diagnostic',
449
458
  },
450
459
  {
451
460
  id: 'agents',
@@ -456,6 +465,7 @@ function buildClaudeRuntimeInfo(input) {
456
465
  status: 'configured',
457
466
  description: agent.description ?? agent.model ?? undefined,
458
467
  })),
468
+ tier: 'diagnostic',
459
469
  },
460
470
  ],
461
471
  execution: {
@@ -728,9 +738,9 @@ function createSession(conversationId, environment, agentId, client, runtimeStat
728
738
  sendInput,
729
739
  enqueueInbound: (msg, intent = 'queue', sourceMessageId, markAccepted = false) => enqueueInboundMessage(msg, intent, sourceMessageId, markAccepted),
730
740
  state: {
731
- model: config.model,
741
+ model: undefined,
732
742
  permissionMode: config.permissionMode,
733
- effort: config.effort,
743
+ effort: undefined,
734
744
  state: 'idle',
735
745
  },
736
746
  availableModels: config.availableModels,
@@ -910,10 +920,31 @@ function createSession(conversationId, environment, agentId, client, runtimeStat
910
920
  const runtimeControlErrors = Object.keys(session.runtimeControlErrors).length > 0
911
921
  ? session.runtimeControlErrors
912
922
  : null;
923
+ const controlState = {};
924
+ const appliedAt = Date.now();
925
+ if (session.state.model !== undefined) {
926
+ controlState.model = { value: session.state.model, source: 'applied', appliedAt };
927
+ }
928
+ else if (config.model !== undefined) {
929
+ controlState.model = { value: config.model, source: 'requested' };
930
+ }
931
+ if (session.state.permissionMode !== undefined) {
932
+ controlState.permissionMode = { value: session.state.permissionMode, source: 'applied', appliedAt };
933
+ }
934
+ else if (config.permissionMode !== undefined) {
935
+ controlState.permissionMode = { value: config.permissionMode, source: 'requested' };
936
+ }
937
+ if (session.state.effort !== undefined) {
938
+ controlState.effort = { value: session.state.effort, source: 'applied', appliedAt };
939
+ }
940
+ else if (config.effort !== undefined) {
941
+ controlState.effort = { value: config.effort, source: 'requested' };
942
+ }
913
943
  runtimeState.writeSessionState(conversationId, {
914
944
  model: session.state.model,
915
945
  permissionMode: session.state.permissionMode,
916
946
  effort: session.state.effort,
947
+ controlState,
917
948
  runtimeControlErrors,
918
949
  contextUsage: session.state.contextUsage,
919
950
  ...(session.availableModels.length ? { availableModels: session.availableModels } : {}),
@@ -1233,7 +1264,7 @@ function createSession(conversationId, environment, agentId, client, runtimeStat
1233
1264
  runtimeModels = modelList;
1234
1265
  onRuntimeDescriptorUpdate({
1235
1266
  defaultWorkspaceId: workspaceOptions[0]?.id,
1236
- defaultModel: session.state.model ?? modelList[0]?.value,
1267
+ defaultModel: modelList[0]?.value,
1237
1268
  defaultPermissionMode: 'default',
1238
1269
  availableModels: modelList,
1239
1270
  availableWorkspaces: buildPublicWorkspaceOptions(workspaceOptions),
@@ -1745,6 +1776,7 @@ export async function main() {
1745
1776
  metadata: {
1746
1777
  turnSemantics: 'turn_complete',
1747
1778
  turnComplete: true,
1779
+ replyBehavior: 'suppress_auto_reply',
1748
1780
  },
1749
1781
  }).catch(() => { });
1750
1782
  return;
@@ -1894,6 +1926,7 @@ export async function main() {
1894
1926
  metadata: {
1895
1927
  turnSemantics: 'turn_complete',
1896
1928
  turnComplete: true,
1929
+ replyBehavior: 'suppress_auto_reply',
1897
1930
  },
1898
1931
  }).catch(() => { });
1899
1932
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonmsg/claude-code-plugin",
3
- "version": "0.12.5",
3
+ "version": "0.12.7",
4
4
  "description": "Canon channel plugin for Claude Code — messaging where AI agents are first-class citizens",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -31,8 +31,8 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@anthropic-ai/claude-agent-sdk": "^0.2.101",
34
- "@canonmsg/agent-sdk": "^1.1.0",
35
- "@canonmsg/core": "^0.15.1",
34
+ "@canonmsg/agent-sdk": "^1.1.2",
35
+ "@canonmsg/core": "^0.15.4",
36
36
  "@modelcontextprotocol/sdk": "^1.12.0"
37
37
  },
38
38
  "engines": {