@fulldivevr/workcord-cli 1.3.0 → 1.6.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 (36) hide show
  1. package/README.md +5 -0
  2. package/dist/cli.js +4 -0
  3. package/dist/client.js +8 -1
  4. package/dist/commands/agent-skills.js +127 -0
  5. package/dist/commands/messages.js +150 -4
  6. package/dist/commands/reflections.js +96 -0
  7. package/dist/commands/rooms.js +7 -3
  8. package/dist/generated/commands/agent-feedback-admin.js +69 -0
  9. package/dist/generated/commands/ai.js +31 -0
  10. package/dist/generated/commands/call-recordings.js +56 -0
  11. package/dist/generated/commands/contact-match.js +20 -1
  12. package/dist/generated/commands/credit-packs.js +112 -0
  13. package/dist/generated/commands/custom-agents.js +483 -1
  14. package/dist/generated/commands/desktop-releases.js +2 -2
  15. package/dist/generated/commands/edge-sizecheck.js +25 -0
  16. package/dist/generated/commands/feed.js +6 -0
  17. package/dist/generated/commands/interactive-events.js +47 -0
  18. package/dist/generated/commands/internal.js +191 -0
  19. package/dist/generated/commands/meetings.js +12 -0
  20. package/dist/generated/commands/messages.js +15 -0
  21. package/dist/generated/commands/my-feedback.js +18 -0
  22. package/dist/generated/commands/pinned-messages.js +6 -0
  23. package/dist/generated/commands/proxy-nodes.js +83 -0
  24. package/dist/generated/commands/push.js +20 -0
  25. package/dist/generated/commands/reviews.js +96 -0
  26. package/dist/generated/commands/room-agents.js +243 -1
  27. package/dist/generated/commands/room-invites.js +12 -0
  28. package/dist/generated/commands/rooms.js +79 -1
  29. package/dist/generated/commands/search.js +1 -1
  30. package/dist/generated/commands/shadow-dispatch-push.js +20 -0
  31. package/dist/generated/commands/shadow-reflections.js +111 -0
  32. package/dist/generated/index.js +20 -0
  33. package/dist/http.js +6 -2
  34. package/dist/room-types.js +10 -0
  35. package/package.json +1 -1
  36. package/dist/generated/commands/health.js +0 -29
@@ -1,4 +1,5 @@
1
1
  import { register as register_activity } from "./commands/activity.js";
2
+ import { register as register_agent_feedback_admin } from "./commands/agent-feedback-admin.js";
2
3
  import { register as register_ai } from "./commands/ai.js";
3
4
  import { register as register_ambassador } from "./commands/ambassador.js";
4
5
  import { register as register_apple_iap } from "./commands/apple-iap.js";
@@ -9,17 +10,20 @@ import { register as register_challenges } from "./commands/challenges.js";
9
10
  import { register as register_clips } from "./commands/clips.js";
10
11
  import { register as register_contact_match } from "./commands/contact-match.js";
11
12
  import { register as register_content_crawler } from "./commands/content-crawler.js";
13
+ import { register as register_credit_packs } from "./commands/credit-packs.js";
12
14
  import { register as register_custom_agents } from "./commands/custom-agents.js";
13
15
  import { register as register_desktop_releases } from "./commands/desktop-releases.js";
14
16
  import { register as register_discover } from "./commands/discover.js";
15
17
  import { register as register_dm } from "./commands/dm.js";
16
18
  import { register as register_drafts } from "./commands/drafts.js";
19
+ import { register as register_edge_sizecheck } from "./commands/edge-sizecheck.js";
17
20
  import { register as register_embed } from "./commands/embed.js";
18
21
  import { register as register_explore } from "./commands/explore.js";
19
22
  import { register as register_feed } from "./commands/feed.js";
20
23
  import { register as register_feedback } from "./commands/feedback.js";
21
24
  import { register as register_gamification } from "./commands/gamification.js";
22
25
  import { register as register_google_play_iap } from "./commands/google-play-iap.js";
26
+ import { register as register_interactive_events } from "./commands/interactive-events.js";
23
27
  import { register as register_internal } from "./commands/internal.js";
24
28
  import { register as register_interview } from "./commands/interview.js";
25
29
  import { register as register_invite_redirect } from "./commands/invite-redirect.js";
@@ -30,6 +34,7 @@ import { register as register_live_kit_webhook } from "./commands/live-kit-webho
30
34
  import { register as register_meetings } from "./commands/meetings.js";
31
35
  import { register as register_message_folders } from "./commands/message-folders.js";
32
36
  import { register as register_messages } from "./commands/messages.js";
37
+ import { register as register_my_feedback } from "./commands/my-feedback.js";
33
38
  import { register as register_one_emulator } from "./commands/one-emulator.js";
34
39
  import { register as register_pdf_export } from "./commands/pdf-export.js";
35
40
  import { register as register_pin_folders } from "./commands/pin-folders.js";
@@ -37,9 +42,12 @@ import { register as register_pinned_messages } from "./commands/pinned-messages
37
42
  import { register as register_polls } from "./commands/polls.js";
38
43
  import { register as register_premium_feeds } from "./commands/premium-feeds.js";
39
44
  import { register as register_processors } from "./commands/processors.js";
45
+ import { register as register_proxy_nodes } from "./commands/proxy-nodes.js";
46
+ import { register as register_push } from "./commands/push.js";
40
47
  import { register as register_questions } from "./commands/questions.js";
41
48
  import { register as register_referrals } from "./commands/referrals.js";
42
49
  import { register as register_reports } from "./commands/reports.js";
50
+ import { register as register_reviews } from "./commands/reviews.js";
43
51
  import { register as register_room_a2_a } from "./commands/room-a2-a.js";
44
52
  import { register as register_room_agents } from "./commands/room-agents.js";
45
53
  import { register as register_room_call } from "./commands/room-call.js";
@@ -51,7 +59,9 @@ import { register as register_saved_messages } from "./commands/saved-messages.j
51
59
  import { register as register_saved_stories } from "./commands/saved-stories.js";
52
60
  import { register as register_search } from "./commands/search.js";
53
61
  import { register as register_shadow } from "./commands/shadow.js";
62
+ import { register as register_shadow_dispatch_push } from "./commands/shadow-dispatch-push.js";
54
63
  import { register as register_shadow_home_agent } from "./commands/shadow-home-agent.js";
64
+ import { register as register_shadow_reflections } from "./commands/shadow-reflections.js";
55
65
  import { register as register_share } from "./commands/share.js";
56
66
  import { register as register_share_cards } from "./commands/share-cards.js";
57
67
  import { register as register_sponsors } from "./commands/sponsors.js";
@@ -66,6 +76,7 @@ import { register as register_well_known } from "./commands/well-known.js";
66
76
  import { register as register_wrapped } from "./commands/wrapped.js";
67
77
  export function registerAll(program) {
68
78
  register_activity(program);
79
+ register_agent_feedback_admin(program);
69
80
  register_ai(program);
70
81
  register_ambassador(program);
71
82
  register_apple_iap(program);
@@ -76,17 +87,20 @@ export function registerAll(program) {
76
87
  register_clips(program);
77
88
  register_contact_match(program);
78
89
  register_content_crawler(program);
90
+ register_credit_packs(program);
79
91
  register_custom_agents(program);
80
92
  register_desktop_releases(program);
81
93
  register_discover(program);
82
94
  register_dm(program);
83
95
  register_drafts(program);
96
+ register_edge_sizecheck(program);
84
97
  register_embed(program);
85
98
  register_explore(program);
86
99
  register_feed(program);
87
100
  register_feedback(program);
88
101
  register_gamification(program);
89
102
  register_google_play_iap(program);
103
+ register_interactive_events(program);
90
104
  register_internal(program);
91
105
  register_interview(program);
92
106
  register_invite_redirect(program);
@@ -97,6 +111,7 @@ export function registerAll(program) {
97
111
  register_meetings(program);
98
112
  register_message_folders(program);
99
113
  register_messages(program);
114
+ register_my_feedback(program);
100
115
  register_one_emulator(program);
101
116
  register_pdf_export(program);
102
117
  register_pin_folders(program);
@@ -104,9 +119,12 @@ export function registerAll(program) {
104
119
  register_polls(program);
105
120
  register_premium_feeds(program);
106
121
  register_processors(program);
122
+ register_proxy_nodes(program);
123
+ register_push(program);
107
124
  register_questions(program);
108
125
  register_referrals(program);
109
126
  register_reports(program);
127
+ register_reviews(program);
110
128
  register_room_a2_a(program);
111
129
  register_room_agents(program);
112
130
  register_room_call(program);
@@ -118,7 +136,9 @@ export function registerAll(program) {
118
136
  register_saved_stories(program);
119
137
  register_search(program);
120
138
  register_shadow(program);
139
+ register_shadow_dispatch_push(program);
121
140
  register_shadow_home_agent(program);
141
+ register_shadow_reflections(program);
122
142
  register_share(program);
123
143
  register_share_cards(program);
124
144
  register_sponsors(program);
package/dist/http.js CHANGED
@@ -21,10 +21,14 @@ const RETRY_STATUSES = new Set([408, 429, 502, 503, 504]);
21
21
  export async function fetchWithRetry(build) {
22
22
  let lastErr;
23
23
  for (let attempt = 0; attempt <= RETRY_MAX; attempt++) {
24
+ let retryable = false;
24
25
  try {
25
26
  const { url, init } = build();
27
+ const method = String(init.method || "GET").toUpperCase();
28
+ const headers = new Headers(init.headers);
29
+ retryable = method === "GET" || method === "HEAD" || headers.has("idempotency-key");
26
30
  const res = await fetch(url, init);
27
- if (!RETRY_STATUSES.has(res.status))
31
+ if (!retryable || !RETRY_STATUSES.has(res.status))
28
32
  return res;
29
33
  lastErr = res;
30
34
  if (attempt >= RETRY_MAX)
@@ -32,7 +36,7 @@ export async function fetchWithRetry(build) {
32
36
  }
33
37
  catch (err) {
34
38
  lastErr = err;
35
- if (attempt >= RETRY_MAX)
39
+ if (!retryable || attempt >= RETRY_MAX)
36
40
  throw err;
37
41
  }
38
42
  const delay = RETRY_BACKOFF_MS * Math.pow(3, attempt);
@@ -0,0 +1,10 @@
1
+ export const ROOM_TYPES = ["verifiedIntelligence", "broadcastChannel", "room", "direct", "webApp"];
2
+ export function validateRoomCreateBody(body) {
3
+ if (!body || typeof body !== "object" || Array.isArray(body) || !("type" in body))
4
+ return;
5
+ const type = body.type;
6
+ if (type === undefined || ROOM_TYPES.some((allowed) => allowed === type))
7
+ return;
8
+ throw new Error(`Invalid room type ${JSON.stringify(type)}. Use one of: ${ROOM_TYPES.join(", ")}. For a normal private room, use verifiedIntelligence.`);
9
+ }
10
+ //# sourceMappingURL=room-types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fulldivevr/workcord-cli",
3
- "version": "1.3.0",
3
+ "version": "1.6.0",
4
4
  "description": "Agent-first CLI using persistent Hermes tenant chat, with advanced API diagnostics.",
5
5
  "private": false,
6
6
  "license": "UNLICENSED",
@@ -1,29 +0,0 @@
1
- import { call } from "../../client.js";
2
- import { actingUserId } from "../../auth.js";
3
- import { getOrCreateGroup, hasSubcommand } from "../_helpers.js";
4
- export function register(program) {
5
- const group = getOrCreateGroup(program, "health", "Health operations");
6
- if (!hasSubcommand(group, "health")) {
7
- group
8
- .command("health")
9
- .description("GET /api/health")
10
- .action(async (opts) => {
11
- const as = actingUserId(program);
12
- const path = `/api/health`;
13
- const data = await call({ method: "GET", path, asUserId: as });
14
- process.stdout.write(JSON.stringify(data) + "\n");
15
- });
16
- }
17
- if (!hasSubcommand(group, "hello")) {
18
- group
19
- .command("hello")
20
- .description("GET /api/hello")
21
- .action(async (opts) => {
22
- const as = actingUserId(program);
23
- const path = `/api/hello`;
24
- const data = await call({ method: "GET", path, asUserId: as });
25
- process.stdout.write(JSON.stringify(data) + "\n");
26
- });
27
- }
28
- }
29
- //# sourceMappingURL=health.js.map