chofex-cli 0.1.142 → 0.1.144

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
@@ -1,6 +1,6 @@
1
1
  # chofex-cli
2
2
 
3
- Command-line client for the Chofex Hackathon.
3
+ Command-line client for Hack the Andes.
4
4
 
5
5
  ## Install
6
6
 
@@ -13,6 +13,7 @@ The installed command is `chofex`:
13
13
  ```sh
14
14
  chofex
15
15
  chofex whoami
16
+ chofex update
16
17
  chofex upgrade
17
18
  chofex register
18
19
  chofex status
@@ -26,11 +27,14 @@ chofex challenge ranking
26
27
  chofex confirm
27
28
  ```
28
29
 
30
+ `chofex update` and `chofex upgrade` are interchangeable; both update the CLI
31
+ to the latest published version.
32
+
29
33
  `chofex register` collects and submits an application with full name, role,
30
- optional LinkedIn and GitHub URLs, and Terms and Conditions. Use `--input` to
31
- submit a completed JSON application. The Black Box is optional: its progress
32
- and score give organizers another review metric, but never decide admission or
33
- block an application submission.
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
38
 
35
39
  The public ranking is read-only at `https://hacktheandes.com/challenges`.
36
40
 
package/dist/index.js CHANGED
@@ -58918,6 +58918,9 @@ var joinFullName = (firstName, lastName) => {
58918
58918
  var applicationInputFields = {
58919
58919
  fullName: nonBlank(givenNameMaximum + familyNameMaximum + 1),
58920
58920
  role: nonBlank(120),
58921
+ bio: optionalText(2000),
58922
+ portfolioUrl: exports_Schema.optional(url),
58923
+ shippedProject: optionalText(2000),
58921
58924
  githubUrl: exports_Schema.optional(url),
58922
58925
  linkedInUrl: exports_Schema.optional(url),
58923
58926
  codeOfConductAccepted: exports_Schema.Literal(true)
@@ -58927,6 +58930,9 @@ var ApplicationInput = exports_Schema.Struct(applicationInputFields);
58927
58930
  var applicationDraftInputFields = {
58928
58931
  fullName: exports_Schema.optional(applicationInputFields.fullName),
58929
58932
  role: nullableOptionalText(120),
58933
+ bio: nullableOptionalText(2000),
58934
+ portfolioUrl: exports_Schema.optional(exports_Schema.NullOr(url)),
58935
+ shippedProject: nullableOptionalText(2000),
58930
58936
  githubUrl: exports_Schema.optional(exports_Schema.NullOr(url)),
58931
58937
  linkedInUrl: exports_Schema.optional(exports_Schema.NullOr(url)),
58932
58938
  codeOfConductAccepted: exports_Schema.optional(exports_Schema.Boolean)
@@ -59680,6 +59686,9 @@ var shipmentInput = (path4, flags) => {
59680
59686
  };
59681
59687
  var defaultChallengeSlug = "black-box";
59682
59688
 
59689
+ // src/brand.ts
59690
+ var eventName = "Hack the Andes";
59691
+
59683
59692
  // src/challenge-output.ts
59684
59693
  var remainingBar = (used, limit) => {
59685
59694
  if (limit <= 0)
@@ -59696,7 +59705,7 @@ var challengeLaunchNotice = (title, opensAt, now3 = new Date) => {
59696
59705
  return challengeOpeningNotice(title, opensAt);
59697
59706
  };
59698
59707
  var challengeListText = (catalog) => {
59699
- const lines2 = ["Hack the Andes challenges", ""];
59708
+ const lines2 = [`${eventName} challenges`, ""];
59700
59709
  for (const challenge of catalog.challenges) {
59701
59710
  let state = "open";
59702
59711
  if (!challenge.open) {
@@ -59992,7 +60001,7 @@ var root = exports_Command.make("chofex").pipe(exports_Command.withSharedFlags({
59992
60001
  apiUrl: exports_Flag.string("api-url").pipe(exports_Flag.withDefault(config.apiUrl), exports_Flag.withDescription("Chofex API base URL")),
59993
60002
  output: exports_Flag.choice("output", ["human", "json"]).pipe(exports_Flag.withDefault("human"), exports_Flag.withDescription("Output format")),
59994
60003
  token: exports_Flag.string("token").pipe(exports_Flag.optional, exports_Flag.withDescription("Clerk OAuth token (prefer CHOFEX_TOKEN to avoid shell history)"))
59995
- }), exports_Command.withDescription("Register for and manage your Chofex hackathon application"));
60004
+ }), exports_Command.withDescription(`Register for and manage your ${eventName} application`));
59996
60005
 
59997
60006
  // src/output.ts
59998
60007
  var printJson = (value3) => exports_Effect.sync(() => {
@@ -60613,6 +60622,9 @@ var withoutEmptyStrings = (input) => Object.fromEntries(Object.entries(input).fi
60613
60622
  var applicationDefaultsFromRegistration = (registration) => ({
60614
60623
  fullName: joinFullName(registration.firstName, registration.lastName),
60615
60624
  role: registration.role,
60625
+ bio: registration.bio,
60626
+ portfolioUrl: registration.portfolioUrl,
60627
+ shippedProject: registration.shippedProject,
60616
60628
  githubUrl: registration.githubUrl,
60617
60629
  linkedInUrl: registration.linkedInUrl,
60618
60630
  codeOfConductAccepted: registration.codeOfConductAccepted ? true : undefined
@@ -60650,6 +60662,9 @@ var validateSemantics = (input, requirements) => {
60650
60662
  var applicationPrompts = (defaults2) => exports_Prompt.all({
60651
60663
  fullName: requiredText("Full name", applicationInputFields.fullName, defaults2.fullName),
60652
60664
  role: requiredText("Role", applicationInputFields.role, defaults2.role),
60665
+ bio: optionalText2("Short bio (optional)", applicationInputFields.bio, defaults2.bio),
60666
+ portfolioUrl: optionalText2("Portfolio URL (optional)", applicationInputFields.portfolioUrl, defaults2.portfolioUrl),
60667
+ shippedProject: optionalText2("What have you shipped? (optional)", applicationInputFields.shippedProject, defaults2.shippedProject),
60653
60668
  linkedInUrl: profileUrlPrompt("LinkedIn username (optional)", "LinkedIn URL (optional)", linkedInProfilePrefix, applicationInputFields.linkedInUrl, defaults2.linkedInUrl),
60654
60669
  githubUrl: profileUrlPrompt("GitHub username (optional)", "GitHub URL (optional)", githubProfilePrefix, applicationInputFields.githubUrl, defaults2.githubUrl)
60655
60670
  });
@@ -62655,7 +62670,7 @@ var whoamiCommand = exports_Command.make("whoami", {}, exports_Effect.fn("whoami
62655
62670
  const operation = getCurrentUser({ apiUrl: options.apiUrl, token });
62656
62671
  yield* execute(options.output, operation, (result3) => `Authenticated as ${result3.email} (${result3.userId}, ${result3.tokenType}).`);
62657
62672
  })).pipe(exports_Command.withDescription("Verify the current Clerk authentication"));
62658
- var upgradeCommand = exports_Command.make("upgrade", {}, exports_Effect.fn("upgradeCommand")(function* () {
62673
+ var makeUpgradeCommand = (name) => exports_Command.make(name, {}, exports_Effect.fn("upgradeCommand")(function* () {
62659
62674
  const options = yield* root;
62660
62675
  const operation = exports_Effect.tryPromise({
62661
62676
  try: async () => {
@@ -62674,6 +62689,8 @@ var upgradeCommand = exports_Command.make("upgrade", {}, exports_Effect.fn("upgr
62674
62689
  });
62675
62690
  yield* execute(options.output, operation, () => `Updated ${cliPackageName} to the ${upgradeVersion} version.`);
62676
62691
  })).pipe(exports_Command.withDescription("Update chofex-cli to the latest version"));
62692
+ var updateCommand = makeUpgradeCommand("update");
62693
+ var upgradeCommand = makeUpgradeCommand("upgrade");
62677
62694
  var inputValidation = (stage, path4) => {
62678
62695
  if (stage === "application") {
62679
62696
  return applicationInput(path4, config.publicSiteUrl).pipe(exports_Effect.asVoid);
@@ -62698,6 +62715,9 @@ var validateCommand = exports_Command.make("validate", { input: inputFlag2, stag
62698
62715
  var applicationTemplate = {
62699
62716
  fullName: "Ada Lovelace",
62700
62717
  role: "Programmer",
62718
+ bio: "I build tools that help people collaborate.",
62719
+ portfolioUrl: "https://ada.example.com",
62720
+ shippedProject: "An open-source analytical engine simulator.",
62701
62721
  githubUrl: "https://github.com/ada-lovelace",
62702
62722
  linkedInUrl: "https://linkedin.com/in/ada-lovelace",
62703
62723
  codeOfConductAccepted: true
@@ -62732,6 +62752,7 @@ var command = root.pipe(exports_Command.withSubcommands([
62732
62752
  loginCommand,
62733
62753
  logoutCommand,
62734
62754
  whoamiCommand,
62755
+ updateCommand,
62735
62756
  upgradeCommand,
62736
62757
  validateCommand,
62737
62758
  registerCommand,
@@ -62801,7 +62822,7 @@ var renderWelcome = ({
62801
62822
  const width = Math.max(1, Math.min(Math.floor(columns), 72));
62802
62823
  if (width < 24) {
62803
62824
  return [
62804
- "The Andes Hackathon",
62825
+ eventName,
62805
62826
  "by Chofex",
62806
62827
  "S/8,000 in prizes",
62807
62828
  "Only for the best engineers from Peru."
@@ -62835,7 +62856,7 @@ var renderWelcome = ({
62835
62856
  let heading = "";
62836
62857
  let foreground = palette.text;
62837
62858
  if (y === 3)
62838
- heading = "The Andes Hackathon";
62859
+ heading = eventName;
62839
62860
  if (y === 4) {
62840
62861
  heading = "by Chofex";
62841
62862
  foreground = palette.sun;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "chofex-cli",
3
- "version": "0.1.142",
4
- "description": "Command-line client for the Chofex Hackathon",
3
+ "version": "0.1.144",
4
+ "description": "Command-line client for Hack the Andes",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "chofex": "./dist/index.js"