standout 0.5.29 → 0.5.30

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/dist/cli.js CHANGED
@@ -136,7 +136,9 @@ async function runAgent(jobId) {
136
136
  console.log(" │ are you really tokenmaxxing? │");
137
137
  console.log(" │ Powered by Standout (YC P26) │");
138
138
  console.log(" └────────────────────────────────┘\n");
139
- if (jobId) {
139
+ // Only frame the token as a job in the application flow. Otherwise it may be a
140
+ // leaderboard group (`npx standout stanford`), confirmed after the wrapped runs.
141
+ if (jobId && profileChatEnabled()) {
140
142
  console.log(` Applying to: ${STANDOUT_API_URL}/jobs/${jobId}\n`);
141
143
  }
142
144
  // LLM calls are proxied through Standout — users don't need an Anthropic key.
@@ -175,6 +177,7 @@ async function runAgent(jobId) {
175
177
  const wrapped = await createWrapped({
176
178
  profile: prefetched,
177
179
  submissionId: null,
180
+ group: jobId ?? null,
178
181
  });
179
182
  return { wrapped, prefetched };
180
183
  }
@@ -196,6 +199,9 @@ async function runAgent(jobId) {
196
199
  let wrappedId = wrapped?.id ?? null;
197
200
  if (wrapped) {
198
201
  await renderWrappedAll(wrapped.view);
202
+ if (wrapped.group) {
203
+ process.stderr.write(` you're on the ${wrapped.group.label} leaderboard — see where you rank.\n\n`);
204
+ }
199
205
  await maybeShareWrapped(wrapped);
200
206
  }
201
207
  else {
@@ -1,10 +1,16 @@
1
1
  import type { WrappedAggregateView } from "./wrapped/types.js";
2
+ export interface WrappedGroup {
3
+ slug: string;
4
+ label: string;
5
+ }
2
6
  export interface WrappedReady {
3
7
  id: string;
4
8
  share_url: string;
5
9
  view: WrappedAggregateView;
10
+ group: WrappedGroup | null;
6
11
  }
7
12
  export declare function createWrapped(args: {
8
13
  profile: Record<string, unknown>;
9
14
  submissionId?: string | null;
15
+ group?: string | null;
10
16
  }): Promise<WrappedReady | null>;
@@ -97,6 +97,7 @@ export async function createWrapped(args) {
97
97
  const body = JSON.stringify({
98
98
  profile,
99
99
  submission_id: args.submissionId ?? undefined,
100
+ group: args.group ?? undefined,
100
101
  });
101
102
  const bodyKb = Math.round(bytesAfter / 1024);
102
103
  let created = null;
@@ -156,5 +157,10 @@ export async function createWrapped(args) {
156
157
  computed,
157
158
  share_url: created.share_url,
158
159
  });
159
- return { id: created.id, share_url: created.share_url, view };
160
+ return {
161
+ id: created.id,
162
+ share_url: created.share_url,
163
+ view,
164
+ group: created.group ?? null,
165
+ };
160
166
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "standout",
3
- "version": "0.5.29",
3
+ "version": "0.5.30",
4
4
  "description": "Build your developer profile with AI. One command, zero friction.",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",