terminalhire 0.10.11 → 0.11.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.
- package/dist/bin/jpi-bounties.js +53 -0
- package/dist/bin/jpi-chat-read.js +8 -0
- package/dist/bin/jpi-chat.js +8 -0
- package/dist/bin/jpi-devs.js +53 -0
- package/dist/bin/jpi-dispatch.js +507 -233
- package/dist/bin/jpi-intro.js +8 -0
- package/dist/bin/jpi-jobs.js +307 -42
- package/dist/bin/jpi-learn.js +8 -0
- package/dist/bin/jpi-login.js +53 -0
- package/dist/bin/jpi-profile.js +8 -0
- package/dist/bin/jpi-project.js +53 -0
- package/dist/bin/jpi-refresh.js +53 -0
- package/dist/bin/jpi-save.js +8 -0
- package/dist/bin/jpi-sync.js +8 -0
- package/dist/bin/jpi-trajectory.js +8 -0
- package/dist/src/intro.js +8 -0
- package/dist/src/trajectory.js +8 -0
- package/package.json +1 -1
package/dist/bin/jpi-bounties.js
CHANGED
|
@@ -5840,6 +5840,53 @@ var init_chatCrypto = __esm({
|
|
|
5840
5840
|
}
|
|
5841
5841
|
});
|
|
5842
5842
|
|
|
5843
|
+
// ../../packages/core/src/job-status.ts
|
|
5844
|
+
function recordClick(map, id) {
|
|
5845
|
+
const prev = map[id];
|
|
5846
|
+
if (prev?.clicked === true) return map;
|
|
5847
|
+
return { ...map, [id]: { ...prev, clicked: true } };
|
|
5848
|
+
}
|
|
5849
|
+
function setStatus(map, id, s, markedAt = (/* @__PURE__ */ new Date()).toISOString()) {
|
|
5850
|
+
const prev = map[id];
|
|
5851
|
+
return { ...map, [id]: { ...prev, status: s, markedAt } };
|
|
5852
|
+
}
|
|
5853
|
+
function funnelCounts(map) {
|
|
5854
|
+
const counts = { clicked: 0, applied: 0, saved: 0, dismissed: 0 };
|
|
5855
|
+
for (const key of Object.keys(map)) {
|
|
5856
|
+
const rec = map[key];
|
|
5857
|
+
if (rec.clicked === true) counts.clicked++;
|
|
5858
|
+
if (rec.status) counts[rec.status]++;
|
|
5859
|
+
}
|
|
5860
|
+
return counts;
|
|
5861
|
+
}
|
|
5862
|
+
function pageMatches(items, page, limit) {
|
|
5863
|
+
const lim = Math.max(1, Math.floor(limit));
|
|
5864
|
+
const total = items.length;
|
|
5865
|
+
const totalPages = Math.max(1, Math.ceil(total / lim));
|
|
5866
|
+
const clamped = Math.min(Math.max(1, Math.floor(page)), totalPages);
|
|
5867
|
+
const start = (clamped - 1) * lim;
|
|
5868
|
+
return {
|
|
5869
|
+
items: items.slice(start, start + lim),
|
|
5870
|
+
page: clamped,
|
|
5871
|
+
limit: lim,
|
|
5872
|
+
total,
|
|
5873
|
+
totalPages,
|
|
5874
|
+
hasPrev: clamped > 1,
|
|
5875
|
+
hasNext: clamped < totalPages
|
|
5876
|
+
};
|
|
5877
|
+
}
|
|
5878
|
+
function decorate(matches, statusMap) {
|
|
5879
|
+
return matches.map((m) => {
|
|
5880
|
+
const rec = statusMap[m.job.id];
|
|
5881
|
+
return rec ? { ...m, jobStatus: rec } : { ...m };
|
|
5882
|
+
});
|
|
5883
|
+
}
|
|
5884
|
+
var init_job_status = __esm({
|
|
5885
|
+
"../../packages/core/src/job-status.ts"() {
|
|
5886
|
+
"use strict";
|
|
5887
|
+
}
|
|
5888
|
+
});
|
|
5889
|
+
|
|
5843
5890
|
// ../../packages/core/src/index.ts
|
|
5844
5891
|
var src_exports = {};
|
|
5845
5892
|
__export(src_exports, {
|
|
@@ -5881,6 +5928,7 @@ __export(src_exports, {
|
|
|
5881
5928
|
computeAcceptanceCredential: () => computeAcceptanceCredential,
|
|
5882
5929
|
computeAcceptanceCredentialPublic: () => computeAcceptanceCredentialPublic,
|
|
5883
5930
|
coreTagsFromTitle: () => coreTagsFromTitle,
|
|
5931
|
+
decorate: () => decorate,
|
|
5884
5932
|
decryptMessage: () => decryptMessage,
|
|
5885
5933
|
deriveResumeTrend: () => deriveResumeTrend,
|
|
5886
5934
|
deriveSharedKey: () => deriveSharedKey,
|
|
@@ -5891,6 +5939,7 @@ __export(src_exports, {
|
|
|
5891
5939
|
fetchOwnedRepoTraction: () => fetchOwnedRepoTraction,
|
|
5892
5940
|
fetchRepoRecency: () => fetchRepoRecency,
|
|
5893
5941
|
flattenTiers: () => flattenTiers,
|
|
5942
|
+
funnelCounts: () => funnelCounts,
|
|
5894
5943
|
generateIdentityKeypair: () => generateIdentityKeypair,
|
|
5895
5944
|
getBuyer: () => getBuyer,
|
|
5896
5945
|
githubBounties: () => githubBounties,
|
|
@@ -5909,12 +5958,15 @@ __export(src_exports, {
|
|
|
5909
5958
|
match: () => match,
|
|
5910
5959
|
normalize: () => normalize,
|
|
5911
5960
|
opire: () => opire,
|
|
5961
|
+
pageMatches: () => pageMatches,
|
|
5912
5962
|
passesMaturityGate: () => passesMaturityGate,
|
|
5913
5963
|
personCardToJob: () => personCardToJob,
|
|
5914
5964
|
projectCardToJob: () => projectCardToJob,
|
|
5965
|
+
recordClick: () => recordClick,
|
|
5915
5966
|
rejectExtraIntroFields: () => rejectExtraIntroFields,
|
|
5916
5967
|
revealIntroContacts: () => revealIntroContacts,
|
|
5917
5968
|
safetyNumber: () => safetyNumber,
|
|
5969
|
+
setStatus: () => setStatus,
|
|
5918
5970
|
tokenize: () => tokenize,
|
|
5919
5971
|
validateGraph: () => validateGraph,
|
|
5920
5972
|
validateIntroPayload: () => validateIntroPayload,
|
|
@@ -5935,6 +5987,7 @@ var init_src = __esm({
|
|
|
5935
5987
|
init_intro();
|
|
5936
5988
|
init_directoryThreshold();
|
|
5937
5989
|
init_chatCrypto();
|
|
5990
|
+
init_job_status();
|
|
5938
5991
|
}
|
|
5939
5992
|
});
|
|
5940
5993
|
|
|
@@ -3749,6 +3749,13 @@ var init_chatCrypto = __esm({
|
|
|
3749
3749
|
}
|
|
3750
3750
|
});
|
|
3751
3751
|
|
|
3752
|
+
// ../../packages/core/src/job-status.ts
|
|
3753
|
+
var init_job_status = __esm({
|
|
3754
|
+
"../../packages/core/src/job-status.ts"() {
|
|
3755
|
+
"use strict";
|
|
3756
|
+
}
|
|
3757
|
+
});
|
|
3758
|
+
|
|
3752
3759
|
// ../../packages/core/src/index.ts
|
|
3753
3760
|
var init_src = __esm({
|
|
3754
3761
|
"../../packages/core/src/index.ts"() {
|
|
@@ -3763,6 +3770,7 @@ var init_src = __esm({
|
|
|
3763
3770
|
init_intro();
|
|
3764
3771
|
init_directoryThreshold();
|
|
3765
3772
|
init_chatCrypto();
|
|
3773
|
+
init_job_status();
|
|
3766
3774
|
}
|
|
3767
3775
|
});
|
|
3768
3776
|
|
package/dist/bin/jpi-chat.js
CHANGED
|
@@ -3767,6 +3767,13 @@ var init_chatCrypto = __esm({
|
|
|
3767
3767
|
}
|
|
3768
3768
|
});
|
|
3769
3769
|
|
|
3770
|
+
// ../../packages/core/src/job-status.ts
|
|
3771
|
+
var init_job_status = __esm({
|
|
3772
|
+
"../../packages/core/src/job-status.ts"() {
|
|
3773
|
+
"use strict";
|
|
3774
|
+
}
|
|
3775
|
+
});
|
|
3776
|
+
|
|
3770
3777
|
// ../../packages/core/src/index.ts
|
|
3771
3778
|
var init_src = __esm({
|
|
3772
3779
|
"../../packages/core/src/index.ts"() {
|
|
@@ -3781,6 +3788,7 @@ var init_src = __esm({
|
|
|
3781
3788
|
init_intro();
|
|
3782
3789
|
init_directoryThreshold();
|
|
3783
3790
|
init_chatCrypto();
|
|
3791
|
+
init_job_status();
|
|
3784
3792
|
}
|
|
3785
3793
|
});
|
|
3786
3794
|
|
package/dist/bin/jpi-devs.js
CHANGED
|
@@ -5840,6 +5840,53 @@ var init_chatCrypto = __esm({
|
|
|
5840
5840
|
}
|
|
5841
5841
|
});
|
|
5842
5842
|
|
|
5843
|
+
// ../../packages/core/src/job-status.ts
|
|
5844
|
+
function recordClick(map, id) {
|
|
5845
|
+
const prev = map[id];
|
|
5846
|
+
if (prev?.clicked === true) return map;
|
|
5847
|
+
return { ...map, [id]: { ...prev, clicked: true } };
|
|
5848
|
+
}
|
|
5849
|
+
function setStatus(map, id, s, markedAt = (/* @__PURE__ */ new Date()).toISOString()) {
|
|
5850
|
+
const prev = map[id];
|
|
5851
|
+
return { ...map, [id]: { ...prev, status: s, markedAt } };
|
|
5852
|
+
}
|
|
5853
|
+
function funnelCounts(map) {
|
|
5854
|
+
const counts = { clicked: 0, applied: 0, saved: 0, dismissed: 0 };
|
|
5855
|
+
for (const key of Object.keys(map)) {
|
|
5856
|
+
const rec = map[key];
|
|
5857
|
+
if (rec.clicked === true) counts.clicked++;
|
|
5858
|
+
if (rec.status) counts[rec.status]++;
|
|
5859
|
+
}
|
|
5860
|
+
return counts;
|
|
5861
|
+
}
|
|
5862
|
+
function pageMatches(items, page, limit) {
|
|
5863
|
+
const lim = Math.max(1, Math.floor(limit));
|
|
5864
|
+
const total = items.length;
|
|
5865
|
+
const totalPages = Math.max(1, Math.ceil(total / lim));
|
|
5866
|
+
const clamped = Math.min(Math.max(1, Math.floor(page)), totalPages);
|
|
5867
|
+
const start = (clamped - 1) * lim;
|
|
5868
|
+
return {
|
|
5869
|
+
items: items.slice(start, start + lim),
|
|
5870
|
+
page: clamped,
|
|
5871
|
+
limit: lim,
|
|
5872
|
+
total,
|
|
5873
|
+
totalPages,
|
|
5874
|
+
hasPrev: clamped > 1,
|
|
5875
|
+
hasNext: clamped < totalPages
|
|
5876
|
+
};
|
|
5877
|
+
}
|
|
5878
|
+
function decorate(matches, statusMap) {
|
|
5879
|
+
return matches.map((m) => {
|
|
5880
|
+
const rec = statusMap[m.job.id];
|
|
5881
|
+
return rec ? { ...m, jobStatus: rec } : { ...m };
|
|
5882
|
+
});
|
|
5883
|
+
}
|
|
5884
|
+
var init_job_status = __esm({
|
|
5885
|
+
"../../packages/core/src/job-status.ts"() {
|
|
5886
|
+
"use strict";
|
|
5887
|
+
}
|
|
5888
|
+
});
|
|
5889
|
+
|
|
5843
5890
|
// ../../packages/core/src/index.ts
|
|
5844
5891
|
var src_exports = {};
|
|
5845
5892
|
__export(src_exports, {
|
|
@@ -5881,6 +5928,7 @@ __export(src_exports, {
|
|
|
5881
5928
|
computeAcceptanceCredential: () => computeAcceptanceCredential,
|
|
5882
5929
|
computeAcceptanceCredentialPublic: () => computeAcceptanceCredentialPublic,
|
|
5883
5930
|
coreTagsFromTitle: () => coreTagsFromTitle,
|
|
5931
|
+
decorate: () => decorate,
|
|
5884
5932
|
decryptMessage: () => decryptMessage,
|
|
5885
5933
|
deriveResumeTrend: () => deriveResumeTrend,
|
|
5886
5934
|
deriveSharedKey: () => deriveSharedKey,
|
|
@@ -5891,6 +5939,7 @@ __export(src_exports, {
|
|
|
5891
5939
|
fetchOwnedRepoTraction: () => fetchOwnedRepoTraction,
|
|
5892
5940
|
fetchRepoRecency: () => fetchRepoRecency,
|
|
5893
5941
|
flattenTiers: () => flattenTiers,
|
|
5942
|
+
funnelCounts: () => funnelCounts,
|
|
5894
5943
|
generateIdentityKeypair: () => generateIdentityKeypair,
|
|
5895
5944
|
getBuyer: () => getBuyer,
|
|
5896
5945
|
githubBounties: () => githubBounties,
|
|
@@ -5909,12 +5958,15 @@ __export(src_exports, {
|
|
|
5909
5958
|
match: () => match,
|
|
5910
5959
|
normalize: () => normalize,
|
|
5911
5960
|
opire: () => opire,
|
|
5961
|
+
pageMatches: () => pageMatches,
|
|
5912
5962
|
passesMaturityGate: () => passesMaturityGate,
|
|
5913
5963
|
personCardToJob: () => personCardToJob,
|
|
5914
5964
|
projectCardToJob: () => projectCardToJob,
|
|
5965
|
+
recordClick: () => recordClick,
|
|
5915
5966
|
rejectExtraIntroFields: () => rejectExtraIntroFields,
|
|
5916
5967
|
revealIntroContacts: () => revealIntroContacts,
|
|
5917
5968
|
safetyNumber: () => safetyNumber,
|
|
5969
|
+
setStatus: () => setStatus,
|
|
5918
5970
|
tokenize: () => tokenize,
|
|
5919
5971
|
validateGraph: () => validateGraph,
|
|
5920
5972
|
validateIntroPayload: () => validateIntroPayload,
|
|
@@ -5935,6 +5987,7 @@ var init_src = __esm({
|
|
|
5935
5987
|
init_intro();
|
|
5936
5988
|
init_directoryThreshold();
|
|
5937
5989
|
init_chatCrypto();
|
|
5990
|
+
init_job_status();
|
|
5938
5991
|
}
|
|
5939
5992
|
});
|
|
5940
5993
|
|