chofex-cli 0.1.144 → 0.1.146

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/README.md CHANGED
@@ -31,10 +31,12 @@ chofex confirm
31
31
  to the latest published version.
32
32
 
33
33
  `chofex register` collects and submits an application with full name, role,
34
- optional bio, portfolio URL, shipped project, LinkedIn and GitHub URLs, and
35
- Terms and Conditions. Use `--input` to submit a completed JSON application. The
36
- Black Box is optional: its progress and score give organizers another review
37
- metric, but never decide admission or block an application submission.
34
+ optional phone number, bio, portfolio URL, shipped project, LinkedIn and GitHub
35
+ URLs, and Terms and Conditions. Use `--input` to submit a completed JSON
36
+ application.
37
+ The Black Box does not block submission, but every challenge winner must submit
38
+ an application before being accepted. Top results receive a direct pass; other
39
+ scores give organizers another review metric.
38
40
 
39
41
  The public ranking is read-only at `https://hacktheandes.com/challenges`.
40
42
 
package/dist/index.js CHANGED
@@ -58564,7 +58564,7 @@ var challengeCatalog = [
58564
58564
  format: "accuracy",
58565
58565
  formatLabel: "Accuracy score",
58566
58566
  opensAt: "2026-09-17T14:00:00.000Z",
58567
- rankingVisibleAt: "2026-09-18T14:00:00.000Z",
58567
+ rankingVisibleAt: "2026-09-23T20:00:00.000Z",
58568
58568
  queryLimit: 25,
58569
58569
  evaluationLimit: 3,
58570
58570
  hiddenSampleSize: 1000,
@@ -58725,6 +58725,7 @@ var ParticipantChallengeProgressSchema = exports_Schema.Struct({
58725
58725
  evaluationsLimit: exports_Schema.Number,
58726
58726
  bestAccuracy: exports_Schema.optional(exports_Schema.Number),
58727
58727
  bestExactCount: exports_Schema.optional(exports_Schema.Number),
58728
+ completionDurationMs: exports_Schema.optional(exports_Schema.Number),
58728
58729
  shareCode: exports_Schema.optional(exports_Schema.String),
58729
58730
  rank: exports_Schema.optional(exports_Schema.Number)
58730
58731
  });
@@ -58830,6 +58831,7 @@ var ChallengeCatalogSchema = exports_Schema.Struct({
58830
58831
  var nonBlank = (maximum) => exports_Schema.Trim.pipe(exports_Schema.check(exports_Schema.isMinLength(1), exports_Schema.isMaxLength(maximum)));
58831
58832
  var optionalText = (maximum) => exports_Schema.optional(nonBlank(maximum));
58832
58833
  var nullableOptionalText = (maximum) => exports_Schema.optional(exports_Schema.NullOr(nonBlank(maximum)));
58834
+ var phone = nonBlank(32);
58833
58835
  var normalizedString = (normalize2) => exports_Schema.String.pipe(exports_Schema.decode({
58834
58836
  decode: exports_SchemaGetter.transform(normalize2),
58835
58837
  encode: exports_SchemaGetter.transform((value3) => value3)
@@ -58918,6 +58920,7 @@ var joinFullName = (firstName, lastName) => {
58918
58920
  var applicationInputFields = {
58919
58921
  fullName: nonBlank(givenNameMaximum + familyNameMaximum + 1),
58920
58922
  role: nonBlank(120),
58923
+ phone: exports_Schema.optional(phone),
58921
58924
  bio: optionalText(2000),
58922
58925
  portfolioUrl: exports_Schema.optional(url),
58923
58926
  shippedProject: optionalText(2000),
@@ -58930,6 +58933,7 @@ var ApplicationInput = exports_Schema.Struct(applicationInputFields);
58930
58933
  var applicationDraftInputFields = {
58931
58934
  fullName: exports_Schema.optional(applicationInputFields.fullName),
58932
58935
  role: nullableOptionalText(120),
58936
+ phone: exports_Schema.optional(exports_Schema.NullOr(phone)),
58933
58937
  bio: nullableOptionalText(2000),
58934
58938
  portfolioUrl: exports_Schema.optional(exports_Schema.NullOr(url)),
58935
58939
  shippedProject: nullableOptionalText(2000),
@@ -58947,7 +58951,7 @@ var ApplicationPartId = exports_Schema.Literals([
58947
58951
  ]);
58948
58952
  var acceptedDetailsInputFields = {
58949
58953
  fullName: nonBlank(200),
58950
- phone: nonBlank(32),
58954
+ phone,
58951
58955
  dateOfBirth: exports_Schema.String.pipe(exports_Schema.check(exports_Schema.isPattern(/^\d{4}-\d{2}-\d{2}$/, {
58952
58956
  message: "Must use YYYY-MM-DD format"
58953
58957
  }))),
@@ -58956,7 +58960,7 @@ var acceptedDetailsInputFields = {
58956
58960
  dietaryRestrictions: optionalText(1000),
58957
58961
  accessibilityNeeds: optionalText(1000),
58958
58962
  emergencyContactName: nonBlank(200),
58959
- emergencyContactPhone: nonBlank(32),
58963
+ emergencyContactPhone: phone,
58960
58964
  mediaConsent: exports_Schema.optional(exports_Schema.Boolean),
58961
58965
  pictureSource: PictureSource
58962
58966
  };
@@ -59011,6 +59015,7 @@ var RegistrationViewSchema = exports_Schema.Struct({
59011
59015
  firstName: exports_Schema.String,
59012
59016
  lastName: exports_Schema.String,
59013
59017
  email: exports_Schema.String,
59018
+ applicationPhone: exports_Schema.optional(exports_Schema.String),
59014
59019
  fullName: exports_Schema.optional(exports_Schema.String),
59015
59020
  phone: exports_Schema.optional(exports_Schema.String),
59016
59021
  dateOfBirth: exports_Schema.optional(exports_Schema.String),
@@ -59134,11 +59139,11 @@ import { createHash as createHash2, randomBytes as randomBytes4 } from "node:cry
59134
59139
  import { createServer } from "node:http";
59135
59140
 
59136
59141
  // src/config.ts
59137
- var oauthIssuer = process.env.CHOFEX_OAUTH_ISSUER ?? "https://close-newt-8265.clerk.accounts.dev";
59142
+ var oauthIssuer = process.env.CHOFEX_OAUTH_ISSUER ?? "https://clerk.hacktheandes.com";
59138
59143
  var config = {
59139
59144
  apiUrl: process.env.CHOFEX_API_URL ?? "https://hacktheandes.com",
59140
59145
  publicSiteUrl: process.env.CHOFEX_PUBLIC_SITE_URL ?? "https://hacktheandes.com",
59141
- oauthClientId: process.env.CHOFEX_OAUTH_CLIENT_ID ?? "1YfuXKgOXkdH094s",
59146
+ oauthClientId: process.env.CHOFEX_OAUTH_CLIENT_ID ?? "HddO78wKpq5PFIEl",
59142
59147
  authorizationUrl: `${oauthIssuer}/oauth/authorize`,
59143
59148
  tokenUrl: `${oauthIssuer}/oauth/token`,
59144
59149
  revocationUrl: `${oauthIssuer}/oauth/token/revoke`
@@ -60622,6 +60627,7 @@ var withoutEmptyStrings = (input) => Object.fromEntries(Object.entries(input).fi
60622
60627
  var applicationDefaultsFromRegistration = (registration) => ({
60623
60628
  fullName: joinFullName(registration.firstName, registration.lastName),
60624
60629
  role: registration.role,
60630
+ phone: registration.applicationPhone,
60625
60631
  bio: registration.bio,
60626
60632
  portfolioUrl: registration.portfolioUrl,
60627
60633
  shippedProject: registration.shippedProject,
@@ -60662,6 +60668,7 @@ var validateSemantics = (input, requirements) => {
60662
60668
  var applicationPrompts = (defaults2) => exports_Prompt.all({
60663
60669
  fullName: requiredText("Full name", applicationInputFields.fullName, defaults2.fullName),
60664
60670
  role: requiredText("Role", applicationInputFields.role, defaults2.role),
60671
+ phone: optionalText2("Phone number (optional)", applicationInputFields.phone, defaults2.phone),
60665
60672
  bio: optionalText2("Short bio (optional)", applicationInputFields.bio, defaults2.bio),
60666
60673
  portfolioUrl: optionalText2("Portfolio URL (optional)", applicationInputFields.portfolioUrl, defaults2.portfolioUrl),
60667
60674
  shippedProject: optionalText2("What have you shipped? (optional)", applicationInputFields.shippedProject, defaults2.shippedProject),
@@ -60728,7 +60735,7 @@ var interactiveAcceptedDetails = (participationMode, pictures) => exports_Effect
60728
60735
  fullName = yield* exports_Prompt.run(requiredText("Full name exactly as it appears on your ID document", acceptedDetailsInputFields.fullName));
60729
60736
  }
60730
60737
  const details = yield* exports_Prompt.run(exports_Prompt.all({
60731
- phone: requiredText("Phone number", acceptedDetailsInputFields.phone),
60738
+ phone: requiredText("Phone number", acceptedDetailsInputFields.phone, pictures.currentPhone),
60732
60739
  dateOfBirth: dateOfBirthPrompt(),
60733
60740
  nationalIdNumber: requiredText("National ID or passport number", acceptedDetailsInputFields.nationalIdNumber),
60734
60741
  shirtSize: shirtSizePrompt(participationMode),
@@ -62601,6 +62608,7 @@ var confirmCommand = exports_Command.make("confirm", {
62601
62608
  const body = yield* acceptedDetailsInput(exports_Option.getOrUndefined(input), current.data.registration.participationMode, {
62602
62609
  clerkPictureUrl: currentUser.data.clerkPictureUrl,
62603
62610
  githubUrl: current.data.registration.githubUrl,
62611
+ currentPhone: current.data.registration.phone,
62604
62612
  currentFullName: joinFullName(current.data.registration.firstName, current.data.registration.lastName) || current.data.registration.fullName
62605
62613
  });
62606
62614
  const picturePath = exports_Option.getOrUndefined(picture);
@@ -62715,6 +62723,7 @@ var validateCommand = exports_Command.make("validate", { input: inputFlag2, stag
62715
62723
  var applicationTemplate = {
62716
62724
  fullName: "Ada Lovelace",
62717
62725
  role: "Programmer",
62726
+ phone: "+51 999 999 999",
62718
62727
  bio: "I build tools that help people collaborate.",
62719
62728
  portfolioUrl: "https://ada.example.com",
62720
62729
  shippedProject: "An open-source analytical engine simulator.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chofex-cli",
3
- "version": "0.1.144",
3
+ "version": "0.1.146",
4
4
  "description": "Command-line client for Hack the Andes",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,12 +11,12 @@
11
11
  ],
12
12
  "repository": {
13
13
  "type": "git",
14
- "url": "git+https://github.com/crafter-station/chofex-hackathon.git",
14
+ "url": "git+https://github.com/crafter-station/hack-the-andes.git",
15
15
  "directory": "apps/cli"
16
16
  },
17
- "homepage": "https://github.com/crafter-station/chofex-hackathon#readme",
17
+ "homepage": "https://github.com/crafter-station/hack-the-andes#readme",
18
18
  "bugs": {
19
- "url": "https://github.com/crafter-station/chofex-hackathon/issues"
19
+ "url": "https://github.com/crafter-station/hack-the-andes/issues"
20
20
  },
21
21
  "license": "MIT",
22
22
  "keywords": [