@kosuke-ai/cli 5.7.0 → 5.8.0

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 (132) hide show
  1. package/dist/agent/summary.js +129 -8
  2. package/dist/generated/commands/activity/list.js +3 -3
  3. package/dist/generated/commands/crons/artifacts-list.js +4 -4
  4. package/dist/generated/commands/crons/create.js +4 -4
  5. package/dist/generated/commands/crons/get.js +4 -4
  6. package/dist/generated/commands/crons/list.js +4 -4
  7. package/dist/generated/commands/crons/projects-resume.js +4 -4
  8. package/dist/generated/commands/crons/run.js +4 -4
  9. package/dist/generated/commands/crons/runs-artifacts-get.js +3 -3
  10. package/dist/generated/commands/crons/runs-artifacts-list.js +3 -3
  11. package/dist/generated/commands/crons/runs-cancel.js +4 -4
  12. package/dist/generated/commands/crons/runs-get.js +4 -4
  13. package/dist/generated/commands/crons/runs-list.js +4 -4
  14. package/dist/generated/commands/crons/runs-messages.js +4 -4
  15. package/dist/generated/commands/crons/update.js +4 -4
  16. package/dist/generated/commands/deploy/cancel.js +4 -4
  17. package/dist/generated/commands/deploy/list.js +2 -2
  18. package/dist/generated/commands/deploy/messages.js +2 -2
  19. package/dist/generated/commands/deploy/queue-list.js +4 -4
  20. package/dist/generated/commands/deploy/queue-move.js +4 -4
  21. package/dist/generated/commands/deploy/queue-resume.js +4 -4
  22. package/dist/generated/commands/deploy/queue-send.js +4 -4
  23. package/dist/generated/commands/deploy/queue-steer.js +4 -4
  24. package/dist/generated/commands/deploy/queue-update.js +4 -4
  25. package/dist/generated/commands/deploy/run.js +4 -4
  26. package/dist/generated/commands/deploy/set-model.js +4 -4
  27. package/dist/generated/commands/github/repositories.js +4 -4
  28. package/dist/generated/commands/github/status.js +4 -4
  29. package/dist/generated/commands/index.js +74 -64
  30. package/dist/generated/commands/preview/get.js +4 -4
  31. package/dist/generated/commands/preview/health.js +4 -4
  32. package/dist/generated/commands/preview/reset.js +4 -4
  33. package/dist/generated/commands/preview/share-create.js +4 -4
  34. package/dist/generated/commands/preview/share-get.js +4 -4
  35. package/dist/generated/commands/projects/branches.js +4 -4
  36. package/dist/generated/commands/projects/create.js +4 -4
  37. package/dist/generated/commands/projects/env-vars-add.js +4 -4
  38. package/dist/generated/commands/projects/get.js +2 -2
  39. package/dist/generated/commands/projects/labels-color.js +4 -4
  40. package/dist/generated/commands/projects/labels.js +1 -1
  41. package/dist/generated/commands/projects/list.js +2 -2
  42. package/dist/generated/commands/projects/services-add.js +4 -4
  43. package/dist/generated/commands/projects/services-list.js +4 -4
  44. package/dist/generated/commands/projects/services-update.js +4 -4
  45. package/dist/generated/commands/projects/settings-get.js +4 -4
  46. package/dist/generated/commands/projects/settings-import.js +4 -4
  47. package/dist/generated/commands/projects/settings-update.js +4 -4
  48. package/dist/generated/commands/projects/skills.js +1 -1
  49. package/dist/generated/commands/projects/update.js +4 -4
  50. package/dist/generated/commands/sessions/activate.js +19 -5
  51. package/dist/generated/commands/sessions/all.js +3 -3
  52. package/dist/generated/commands/sessions/artifacts-attach.js +3 -3
  53. package/dist/generated/commands/sessions/artifacts-get.js +3 -3
  54. package/dist/generated/commands/sessions/artifacts-list.js +3 -3
  55. package/dist/generated/commands/sessions/comments-add.js +4 -4
  56. package/dist/generated/commands/sessions/comments-list.js +4 -4
  57. package/dist/generated/commands/sessions/comments-update.js +4 -4
  58. package/dist/generated/commands/sessions/diff-comments-add.js +4 -4
  59. package/dist/generated/commands/sessions/diff-comments-list.js +4 -4
  60. package/dist/generated/commands/sessions/diff-comments-update.js +4 -4
  61. package/dist/generated/commands/sessions/diff-commits.js +4 -4
  62. package/dist/generated/commands/sessions/diff-files.js +3 -3
  63. package/dist/generated/commands/sessions/diff-patch.js +3 -3
  64. package/dist/generated/commands/sessions/edit-prompt.js +1 -1
  65. package/dist/generated/commands/sessions/files-get.js +4 -4
  66. package/dist/generated/commands/sessions/files-list.js +4 -4
  67. package/dist/generated/commands/sessions/files-write.js +4 -4
  68. package/dist/generated/commands/sessions/get.js +2 -2
  69. package/dist/generated/commands/sessions/git-commit-message.js +4 -4
  70. package/dist/generated/commands/sessions/git-commit.js +4 -4
  71. package/dist/generated/commands/sessions/git-push.js +4 -4
  72. package/dist/generated/commands/sessions/git-state.js +4 -4
  73. package/dist/generated/commands/sessions/jobs-cancel.js +4 -4
  74. package/dist/generated/commands/sessions/jobs-get.js +1 -1
  75. package/dist/generated/commands/sessions/jobs-list.js +2 -2
  76. package/dist/generated/commands/sessions/labels-edit.js +3 -3
  77. package/dist/generated/commands/sessions/labels-set.js +3 -3
  78. package/dist/generated/commands/sessions/mark-read.js +4 -4
  79. package/dist/generated/commands/sessions/messages.js +1 -1
  80. package/dist/generated/commands/sessions/needs-you.js +4 -4
  81. package/dist/generated/commands/sessions/qa-slot.js +22 -0
  82. package/dist/generated/commands/sessions/queue-list.js +3 -3
  83. package/dist/generated/commands/sessions/queue-move.js +4 -4
  84. package/dist/generated/commands/sessions/queue-resume.js +4 -4
  85. package/dist/generated/commands/sessions/queue-send.js +4 -4
  86. package/dist/generated/commands/sessions/queue-steer.js +4 -4
  87. package/dist/generated/commands/sessions/queue-update.js +4 -4
  88. package/dist/generated/commands/sessions/runtime-command.js +4 -4
  89. package/dist/generated/commands/sessions/search.js +2 -2
  90. package/dist/generated/commands/sessions/send.js +2 -2
  91. package/dist/generated/commands/sessions/steer.js +4 -4
  92. package/dist/generated/commands/sessions/title-generate.js +4 -4
  93. package/dist/generated/commands/sessions/update.js +1 -1
  94. package/dist/generated/commands/user/plugins-list.js +3 -3
  95. package/dist/generated/commands/user/plugins-update.js +4 -4
  96. package/dist/generated/commands/user/profile.js +4 -4
  97. package/dist/generated/commands/user/skills-create.js +4 -4
  98. package/dist/generated/commands/user/skills-get.js +3 -3
  99. package/dist/generated/commands/user/skills-list.js +3 -3
  100. package/dist/generated/commands/user/skills-update.js +4 -4
  101. package/dist/generated/commands/user/subscriptions-get.js +4 -4
  102. package/dist/generated/commands/user/subscriptions-usage.js +4 -4
  103. package/dist/generated/commands/workspaces/access-status.js +4 -4
  104. package/dist/generated/commands/workspaces/ai-provider-get.js +4 -4
  105. package/dist/generated/commands/workspaces/ai-provider-usage-claude.js +4 -4
  106. package/dist/generated/commands/workspaces/ai-provider-usage-codex.js +4 -4
  107. package/dist/generated/commands/workspaces/ai-provider-usage-coding-plan.js +4 -4
  108. package/dist/generated/commands/workspaces/artifacts.js +3 -3
  109. package/dist/generated/commands/workspaces/credits.js +3 -3
  110. package/dist/generated/commands/workspaces/get.js +4 -4
  111. package/dist/generated/commands/workspaces/getting-started-get.js +4 -4
  112. package/dist/generated/commands/workspaces/getting-started-update.js +4 -4
  113. package/dist/generated/commands/workspaces/integrations-sentry-get.js +4 -4
  114. package/dist/generated/commands/workspaces/integrations-slack-get.js +4 -4
  115. package/dist/generated/commands/workspaces/lead-cards.js +21 -0
  116. package/dist/generated/commands/workspaces/lead-notifications-open.js +23 -0
  117. package/dist/generated/commands/workspaces/lead-proposals-create.js +25 -0
  118. package/dist/generated/commands/workspaces/lead-triage.js +60 -0
  119. package/dist/generated/commands/workspaces/list.js +3 -3
  120. package/dist/generated/commands/workspaces/members.js +4 -4
  121. package/dist/generated/commands/workspaces/plugins-list.js +2 -2
  122. package/dist/generated/commands/workspaces/plugins-update.js +4 -4
  123. package/dist/generated/commands/workspaces/sandbox-limit.js +3 -3
  124. package/dist/generated/commands/workspaces/skills-create.js +4 -4
  125. package/dist/generated/commands/workspaces/skills-get.js +2 -2
  126. package/dist/generated/commands/workspaces/skills-list.js +2 -2
  127. package/dist/generated/commands/workspaces/skills-update.js +4 -4
  128. package/dist/generated/commands/workspaces/stop-sandboxes.js +4 -4
  129. package/dist/generated/commands/workspaces/usage.js +3 -3
  130. package/dist/program.js +7 -10
  131. package/openapi.json +1088 -30
  132. package/package.json +1 -1
@@ -1,13 +1,18 @@
1
1
  import { createApiClient } from '../runtime/client.js';
2
2
  import { HttpError, NEEDS_YOU_FILTER, paginationTotal } from './http.js';
3
3
  /**
4
- * `kosuke agent summary`: what needs the member
4
+ * `kosuke agent summary`: what needs the member, which providers are connected
5
5
  * and what is New, in a few dozen lines an agent reads at the start of a
6
6
  * conversation. Kept to about 1,500 tokens: each list is capped and names the
7
7
  * command that reads the rest, and it claims only as many events as the other
8
8
  * lines leave room for.
9
9
  */
10
10
  const SUMMARY_TIMEOUT_MS = 8000;
11
+ /**
12
+ * Shorter than the summary's own: a usage read asks the provider, and a slow provider
13
+ * must cost the digest its numbers, never the digest.
14
+ */
15
+ const PROVIDERS_TIMEOUT_MS = 4000;
11
16
  const NEEDS_YOU_SHOWN = 5;
12
17
  /** However much room is left: past this, the digest stops being a glance. */
13
18
  const EVENTS_SHOWN = 15;
@@ -75,6 +80,115 @@ function eventLine(event) {
75
80
  const words = clip(`${text}${subject ? `: ${subject}` : ''}`, TEXT_MAX);
76
81
  return [`- ${where(event)} ${words}`, str(event.sessionUrl)].filter(Boolean).join(', ');
77
82
  }
83
+ const obj = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : null;
84
+ /** The `data` of a success envelope, or null when the call failed or answered something else. */
85
+ function dataOf(result) {
86
+ return result.response.ok ? obj(obj(result.data)?.data) : null;
87
+ }
88
+ /** `session 42%, week 61%`, with only the windows the provider reported. */
89
+ function usageWords(usage) {
90
+ const windows = ['session', 'week'].flatMap((name) => {
91
+ const utilization = obj(usage?.[name])?.utilization;
92
+ return typeof utilization === 'number' && Number.isFinite(utilization)
93
+ ? [`${name} ${Math.round(utilization)}% used`]
94
+ : [];
95
+ });
96
+ return windows.length ? windows.join(', ') : null;
97
+ }
98
+ const SUBSCRIPTIONS = [
99
+ { key: 'anthropic', label: 'Your Claude subscription', usage: 'claude_code' },
100
+ { key: 'openai', label: 'Your Codex subscription', usage: 'codex' },
101
+ { key: 'zai', label: 'Your GLM Coding Plan', usage: 'coding_plan' },
102
+ ];
103
+ const WORKSPACE_PROVIDERS = [
104
+ { key: 'anthropic', name: 'Anthropic' },
105
+ { key: 'openai', name: 'OpenAI' },
106
+ { key: 'zai', name: 'Z.ai' },
107
+ ];
108
+ const AUTH_METHOD_NAMES = {
109
+ api_key: 'API key',
110
+ aws_bedrock: 'AWS Bedrock',
111
+ claude_code: 'Claude login',
112
+ codex: 'Codex login',
113
+ coding_plan: 'GLM Coding Plan',
114
+ };
115
+ const USAGE_PLANS = ['claude_code', 'codex', 'coding_plan'];
116
+ function subscriptionEntries(subscriptions) {
117
+ return SUBSCRIPTIONS.flatMap(({ key, label, usage }) => {
118
+ const row = obj(subscriptions[key]);
119
+ if (!row || row.connected !== true)
120
+ return [];
121
+ return [{ label, needsReauth: row.needsReauth === true, usage }];
122
+ });
123
+ }
124
+ /** One entry per provider the workspace has an active, configured auth method for. */
125
+ function workspaceEntries(settings) {
126
+ const providers = obj(settings.providers) ?? {};
127
+ return WORKSPACE_PROVIDERS.flatMap(({ key, name }) => {
128
+ const provider = obj(providers[key]);
129
+ const method = str(provider?.activeAuthMethod);
130
+ const state = method ? obj(obj(provider?.authMethods)?.[method]) : null;
131
+ if (!method || !state || state.configured !== true)
132
+ return [];
133
+ return [
134
+ {
135
+ label: `Workspace ${name} (${AUTH_METHOD_NAMES[method] ?? method})`,
136
+ needsReauth: state.needsReauth === true,
137
+ usage: USAGE_PLANS.includes(method) ? method : null,
138
+ },
139
+ ];
140
+ });
141
+ }
142
+ function providerLine(entry, usage) {
143
+ if (entry.needsReauth)
144
+ return `- ${entry.label}: needs reconnecting`;
145
+ return [`- ${entry.label}: connected`, usageWords(usage)].filter(Boolean).join(', ');
146
+ }
147
+ /**
148
+ * The Providers section's lines, or null when a connection read failed: half the
149
+ * connections would read as the other half not existing. A usage read that fails
150
+ * costs only that line's numbers.
151
+ */
152
+ async function fetchProviders(client, workspace, signal) {
153
+ try {
154
+ const [subscriptions, settings] = await Promise.all([
155
+ client.GET('/api/user/subscriptions', { signal }).then(dataOf),
156
+ workspace
157
+ ? client
158
+ .GET('/api/organizations/{workspaceId}/ai-provider', {
159
+ params: { path: { workspaceId: workspace } },
160
+ signal,
161
+ })
162
+ .then(dataOf)
163
+ : null,
164
+ ]);
165
+ if (!subscriptions || (workspace && !settings))
166
+ return null;
167
+ const usage = (read) => read.then(dataOf).catch(() => null);
168
+ const mine = subscriptionEntries(subscriptions).map((entry) => ({
169
+ entry,
170
+ read: () => usage(client.GET('/api/user/subscriptions/usage', {
171
+ params: { query: { provider: entry.usage ?? 'claude_code' } },
172
+ signal,
173
+ })),
174
+ }));
175
+ const path = { workspaceId: workspace ?? '' };
176
+ const workspaceUsage = {
177
+ claude_code: '/api/organizations/{workspaceId}/ai-provider/claude-usage',
178
+ codex: '/api/organizations/{workspaceId}/ai-provider/codex-usage',
179
+ coding_plan: '/api/organizations/{workspaceId}/ai-provider/coding-plan-usage',
180
+ };
181
+ const shared = (settings ? workspaceEntries(settings) : []).map((entry) => ({
182
+ entry,
183
+ read: () => usage(client.GET(workspaceUsage[entry.usage ?? 'claude_code'], { params: { path }, signal })),
184
+ }));
185
+ const lines = await Promise.all([...mine, ...shared].map(async ({ entry, read }) => providerLine(entry, entry.usage && !entry.needsReauth ? await read() : null)));
186
+ return lines.length ? lines : ['- None connected.'];
187
+ }
188
+ catch {
189
+ return null;
190
+ }
191
+ }
78
192
  /** Never clipped: a workspace missing here would read as one the digest did not cover. */
79
193
  function coverageLine(sessions) {
80
194
  const covered = sessions?.meta?.workspaces;
@@ -102,6 +216,8 @@ export function planSummary(options) {
102
216
  }
103
217
  }
104
218
  head.push('');
219
+ if (options.providers?.length)
220
+ head.push('Providers:', ...options.providers, '');
105
221
  const coverage = coverageLine(sessions);
106
222
  const room = BUDGET_CHARS - head.join('\n').length - coverage.length - ACTIVITY_FRAME_CHARS - scope.length;
107
223
  const lineMax = eventLineMax(apiUrl, needing);
@@ -145,9 +261,9 @@ export function renderSummary(plan, activity) {
145
261
  }
146
262
  /**
147
263
  * The whole digest, or one line saying why not, so the agent reading it
148
- * knows to query the CLI itself. Needs You is read first: its lines decide
149
- * how many events fit, and the Activity read marks events seen, so a digest
150
- * that failed after it would lose them.
264
+ * knows to query the CLI itself. Needs You and the providers are read first:
265
+ * their lines decide how many events fit, and the Activity read marks events
266
+ * seen, so a digest that failed after it would lose them.
151
267
  */
152
268
  export async function fetchSummary(options) {
153
269
  if (!options.apiKey)
@@ -160,12 +276,17 @@ export async function fetchSummary(options) {
160
276
  const signal = AbortSignal.timeout(options.timeoutMs ?? SUMMARY_TIMEOUT_MS);
161
277
  try {
162
278
  const workspace = options.workspace ? { workspace: options.workspace } : {};
163
- const sessions = body(await client.GET('/api/chat-sessions', {
164
- params: { query: { ...NEEDS_YOU_QUERY, ...workspace } },
165
- signal,
166
- }));
279
+ const [needsYou, providers] = await Promise.all([
280
+ client.GET('/api/chat-sessions', {
281
+ params: { query: { ...NEEDS_YOU_QUERY, ...workspace } },
282
+ signal,
283
+ }),
284
+ fetchProviders(client, options.workspace, AbortSignal.any([signal, AbortSignal.timeout(PROVIDERS_TIMEOUT_MS)])),
285
+ ]);
286
+ const sessions = body(needsYou);
167
287
  const plan = planSummary({
168
288
  sessions,
289
+ providers,
169
290
  apiUrl: options.apiUrl,
170
291
  now: (options.now ?? Date.now)(),
171
292
  ...workspace,
@@ -69,8 +69,8 @@ export const operation = {
69
69
  "multipart": null,
70
70
  "attachments": false,
71
71
  "anonymous": false,
72
- "sandboxToken": false,
73
- "orchestratorToken": false,
74
- "cronToken": false,
72
+ "sandboxToken": true,
73
+ "orchestratorToken": true,
74
+ "cronToken": true,
75
75
  "leadToken": true
76
76
  };
@@ -53,8 +53,8 @@ export const operation = {
53
53
  "multipart": null,
54
54
  "attachments": false,
55
55
  "anonymous": false,
56
- "sandboxToken": false,
57
- "orchestratorToken": false,
58
- "cronToken": false,
59
- "leadToken": false
56
+ "sandboxToken": true,
57
+ "orchestratorToken": true,
58
+ "cronToken": true,
59
+ "leadToken": true
60
60
  };
@@ -60,8 +60,8 @@ export const operation = {
60
60
  "multipart": null,
61
61
  "attachments": false,
62
62
  "anonymous": false,
63
- "sandboxToken": false,
64
- "orchestratorToken": false,
65
- "cronToken": false,
66
- "leadToken": false
63
+ "sandboxToken": true,
64
+ "orchestratorToken": true,
65
+ "cronToken": true,
66
+ "leadToken": true
67
67
  };
@@ -15,8 +15,8 @@ export const operation = {
15
15
  "multipart": null,
16
16
  "attachments": false,
17
17
  "anonymous": false,
18
- "sandboxToken": false,
19
- "orchestratorToken": false,
20
- "cronToken": false,
21
- "leadToken": false
18
+ "sandboxToken": true,
19
+ "orchestratorToken": true,
20
+ "cronToken": true,
21
+ "leadToken": true
22
22
  };
@@ -50,8 +50,8 @@ export const operation = {
50
50
  "multipart": null,
51
51
  "attachments": false,
52
52
  "anonymous": false,
53
- "sandboxToken": false,
54
- "orchestratorToken": false,
55
- "cronToken": false,
56
- "leadToken": false
53
+ "sandboxToken": true,
54
+ "orchestratorToken": true,
55
+ "cronToken": true,
56
+ "leadToken": true
57
57
  };
@@ -17,8 +17,8 @@ export const operation = {
17
17
  "multipart": null,
18
18
  "attachments": false,
19
19
  "anonymous": false,
20
- "sandboxToken": false,
21
- "orchestratorToken": false,
22
- "cronToken": false,
23
- "leadToken": false
20
+ "sandboxToken": true,
21
+ "orchestratorToken": true,
22
+ "cronToken": true,
23
+ "leadToken": true
24
24
  };
@@ -27,8 +27,8 @@ export const operation = {
27
27
  "multipart": null,
28
28
  "attachments": false,
29
29
  "anonymous": false,
30
- "sandboxToken": false,
31
- "orchestratorToken": false,
32
- "cronToken": false,
33
- "leadToken": false
30
+ "sandboxToken": true,
31
+ "orchestratorToken": true,
32
+ "cronToken": true,
33
+ "leadToken": true
34
34
  };
@@ -19,8 +19,8 @@ export const operation = {
19
19
  "multipart": null,
20
20
  "attachments": false,
21
21
  "anonymous": false,
22
- "sandboxToken": false,
23
- "orchestratorToken": false,
24
- "cronToken": false,
22
+ "sandboxToken": true,
23
+ "orchestratorToken": true,
24
+ "cronToken": true,
25
25
  "leadToken": true
26
26
  };
@@ -18,8 +18,8 @@ export const operation = {
18
18
  "multipart": null,
19
19
  "attachments": false,
20
20
  "anonymous": false,
21
- "sandboxToken": false,
22
- "orchestratorToken": false,
23
- "cronToken": false,
21
+ "sandboxToken": true,
22
+ "orchestratorToken": true,
23
+ "cronToken": true,
24
24
  "leadToken": true
25
25
  };
@@ -17,8 +17,8 @@ export const operation = {
17
17
  "multipart": null,
18
18
  "attachments": false,
19
19
  "anonymous": false,
20
- "sandboxToken": false,
21
- "orchestratorToken": false,
22
- "cronToken": false,
23
- "leadToken": false
20
+ "sandboxToken": true,
21
+ "orchestratorToken": true,
22
+ "cronToken": true,
23
+ "leadToken": true
24
24
  };
@@ -17,8 +17,8 @@ export const operation = {
17
17
  "multipart": null,
18
18
  "attachments": false,
19
19
  "anonymous": false,
20
- "sandboxToken": false,
21
- "orchestratorToken": false,
22
- "cronToken": false,
23
- "leadToken": false
20
+ "sandboxToken": true,
21
+ "orchestratorToken": true,
22
+ "cronToken": true,
23
+ "leadToken": true
24
24
  };
@@ -54,8 +54,8 @@ export const operation = {
54
54
  "multipart": null,
55
55
  "attachments": false,
56
56
  "anonymous": false,
57
- "sandboxToken": false,
58
- "orchestratorToken": false,
59
- "cronToken": false,
60
- "leadToken": false
57
+ "sandboxToken": true,
58
+ "orchestratorToken": true,
59
+ "cronToken": true,
60
+ "leadToken": true
61
61
  };
@@ -17,8 +17,8 @@ export const operation = {
17
17
  "multipart": null,
18
18
  "attachments": false,
19
19
  "anonymous": false,
20
- "sandboxToken": false,
21
- "orchestratorToken": false,
22
- "cronToken": false,
23
- "leadToken": false
20
+ "sandboxToken": true,
21
+ "orchestratorToken": true,
22
+ "cronToken": true,
23
+ "leadToken": true
24
24
  };
@@ -68,8 +68,8 @@ export const operation = {
68
68
  "multipart": null,
69
69
  "attachments": false,
70
70
  "anonymous": false,
71
- "sandboxToken": false,
72
- "orchestratorToken": false,
73
- "cronToken": false,
74
- "leadToken": false
71
+ "sandboxToken": true,
72
+ "orchestratorToken": true,
73
+ "cronToken": true,
74
+ "leadToken": true
75
75
  };
@@ -14,8 +14,8 @@ export const operation = {
14
14
  "multipart": null,
15
15
  "attachments": false,
16
16
  "anonymous": false,
17
- "sandboxToken": false,
18
- "orchestratorToken": false,
19
- "cronToken": false,
20
- "leadToken": false
17
+ "sandboxToken": true,
18
+ "orchestratorToken": true,
19
+ "cronToken": true,
20
+ "leadToken": true
21
21
  };
@@ -30,7 +30,7 @@ export const operation = {
30
30
  "attachments": false,
31
31
  "anonymous": false,
32
32
  "sandboxToken": true,
33
- "orchestratorToken": false,
33
+ "orchestratorToken": true,
34
34
  "cronToken": true,
35
- "leadToken": false
35
+ "leadToken": true
36
36
  };
@@ -15,7 +15,7 @@ export const operation = {
15
15
  "attachments": false,
16
16
  "anonymous": false,
17
17
  "sandboxToken": true,
18
- "orchestratorToken": false,
18
+ "orchestratorToken": true,
19
19
  "cronToken": true,
20
- "leadToken": false
20
+ "leadToken": true
21
21
  };
@@ -15,8 +15,8 @@ export const operation = {
15
15
  "multipart": null,
16
16
  "attachments": false,
17
17
  "anonymous": false,
18
- "sandboxToken": false,
19
- "orchestratorToken": false,
20
- "cronToken": false,
21
- "leadToken": false
18
+ "sandboxToken": true,
19
+ "orchestratorToken": true,
20
+ "cronToken": true,
21
+ "leadToken": true
22
22
  };
@@ -27,8 +27,8 @@ export const operation = {
27
27
  "multipart": null,
28
28
  "attachments": false,
29
29
  "anonymous": false,
30
- "sandboxToken": false,
31
- "orchestratorToken": false,
32
- "cronToken": false,
33
- "leadToken": false
30
+ "sandboxToken": true,
31
+ "orchestratorToken": true,
32
+ "cronToken": true,
33
+ "leadToken": true
34
34
  };
@@ -15,8 +15,8 @@ export const operation = {
15
15
  "multipart": null,
16
16
  "attachments": false,
17
17
  "anonymous": false,
18
- "sandboxToken": false,
19
- "orchestratorToken": false,
20
- "cronToken": false,
21
- "leadToken": false
18
+ "sandboxToken": true,
19
+ "orchestratorToken": true,
20
+ "cronToken": true,
21
+ "leadToken": true
22
22
  };
@@ -16,8 +16,8 @@ export const operation = {
16
16
  "multipart": null,
17
17
  "attachments": false,
18
18
  "anonymous": false,
19
- "sandboxToken": false,
20
- "orchestratorToken": false,
21
- "cronToken": false,
22
- "leadToken": false
19
+ "sandboxToken": true,
20
+ "orchestratorToken": true,
21
+ "cronToken": true,
22
+ "leadToken": true
23
23
  };
@@ -16,8 +16,8 @@ export const operation = {
16
16
  "multipart": null,
17
17
  "attachments": false,
18
18
  "anonymous": false,
19
- "sandboxToken": false,
20
- "orchestratorToken": false,
21
- "cronToken": false,
22
- "leadToken": false
19
+ "sandboxToken": true,
20
+ "orchestratorToken": true,
21
+ "cronToken": true,
22
+ "leadToken": true
23
23
  };
@@ -49,8 +49,8 @@ export const operation = {
49
49
  ],
50
50
  "attachments": true,
51
51
  "anonymous": false,
52
- "sandboxToken": false,
53
- "orchestratorToken": false,
54
- "cronToken": false,
55
- "leadToken": false
52
+ "sandboxToken": true,
53
+ "orchestratorToken": true,
54
+ "cronToken": true,
55
+ "leadToken": true
56
56
  };
@@ -58,8 +58,8 @@ export const operation = {
58
58
  ],
59
59
  "attachments": true,
60
60
  "anonymous": false,
61
- "sandboxToken": false,
62
- "orchestratorToken": false,
63
- "cronToken": false,
64
- "leadToken": false
61
+ "sandboxToken": true,
62
+ "orchestratorToken": true,
63
+ "cronToken": true,
64
+ "leadToken": true
65
65
  };
@@ -24,8 +24,8 @@ export const operation = {
24
24
  "multipart": null,
25
25
  "attachments": false,
26
26
  "anonymous": false,
27
- "sandboxToken": false,
28
- "orchestratorToken": false,
29
- "cronToken": false,
30
- "leadToken": false
27
+ "sandboxToken": true,
28
+ "orchestratorToken": true,
29
+ "cronToken": true,
30
+ "leadToken": true
31
31
  };
@@ -12,8 +12,8 @@ export const operation = {
12
12
  "multipart": null,
13
13
  "attachments": false,
14
14
  "anonymous": false,
15
- "sandboxToken": false,
16
- "orchestratorToken": false,
17
- "cronToken": false,
18
- "leadToken": false
15
+ "sandboxToken": true,
16
+ "orchestratorToken": true,
17
+ "cronToken": true,
18
+ "leadToken": true
19
19
  };
@@ -12,8 +12,8 @@ export const operation = {
12
12
  "multipart": null,
13
13
  "attachments": false,
14
14
  "anonymous": false,
15
- "sandboxToken": false,
16
- "orchestratorToken": false,
17
- "cronToken": false,
18
- "leadToken": false
15
+ "sandboxToken": true,
16
+ "orchestratorToken": true,
17
+ "cronToken": true,
18
+ "leadToken": true
19
19
  };