@tickernelz/paperclip-pro-server 2026.930.4 → 2026.930.5
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/build-info.json +1 -1
- package/dist/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +63 -0
- package/dist/routes/issues.js.map +1 -1
- package/dist/routes/openapi.d.ts.map +1 -1
- package/dist/routes/openapi.js +1 -0
- package/dist/routes/openapi.js.map +1 -1
- package/dist/services/agents.d.ts +10 -10
- package/dist/services/connectors/slack.d.ts +13 -13
- package/node_modules/remend/dist/index.d.ts +3 -2
- package/node_modules/remend/dist/index.js +23 -20
- package/node_modules/remend/package.json +3 -2
- package/package.json +21 -21
- package/skills/paperclip/SKILL.md +2 -0
- package/skills/paperclip/references/api-reference.md +2 -0
- package/ui-dist/assets/{Agents.production-DbUeI7Fn.js → Agents.production-CznvSxPb.js} +2 -2
- package/ui-dist/assets/{CompanyActivity.production-ah_9HNB7.js → CompanyActivity.production-DGPmuiMK.js} +1 -1
- package/ui-dist/assets/{CompanyExport-DfQ2w0Io.js → CompanyExport-B2_MyBAa.js} +1 -1
- package/ui-dist/assets/{CompanySkills.production-D1z4_-0O.js → CompanySkills.production-CbLMWon3.js} +1 -1
- package/ui-dist/assets/{Costs.production-lj6CMOJY.js → Costs.production-CXw68OcC.js} +1 -1
- package/ui-dist/assets/{OrgChart.production-BYJcahNU.js → OrgChart.production-DO92Tc-H.js} +1 -1
- package/ui-dist/assets/{RoutineDetail.production-7Lqoltnn.js → RoutineDetail.production-BGIyenmz.js} +1 -1
- package/ui-dist/assets/{Routines.production-2drUSpFP.js → Routines.production-1FAJghn4.js} +1 -1
- package/ui-dist/assets/{definition-CN1PqJxy.js → definition-nDpkq-TP.js} +1 -1
- package/ui-dist/assets/{index-CFJc7t_k.js → index-9OR5EiR3.js} +4 -4
- package/ui-dist/index.html +1 -1
- package/ui-dist/sw.js +1 -1
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/routes/issues.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA4BvE,OAAO,EAgDL,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/routes/issues.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/issues.js
CHANGED
|
@@ -2563,6 +2563,59 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
2563
2563
|
return (readNonEmptyString(context.issueId) ??
|
|
2564
2564
|
readNonEmptyString(paperclipIssue?.id));
|
|
2565
2565
|
}
|
|
2566
|
+
async function resolveMissingParentCreateWarnings(companyId, actor, createdIssue) {
|
|
2567
|
+
if (actor.actorType !== "agent" ||
|
|
2568
|
+
!actor.agentId ||
|
|
2569
|
+
!actor.runId ||
|
|
2570
|
+
createdIssue.parentId)
|
|
2571
|
+
return [];
|
|
2572
|
+
const run = await db
|
|
2573
|
+
.select({
|
|
2574
|
+
agentId: heartbeatRuns.agentId,
|
|
2575
|
+
contextSnapshot: heartbeatRuns.contextSnapshot,
|
|
2576
|
+
})
|
|
2577
|
+
.from(heartbeatRuns)
|
|
2578
|
+
.where(and(eq(heartbeatRuns.id, actor.runId), eq(heartbeatRuns.companyId, companyId)))
|
|
2579
|
+
.then((rows) => rows[0] ?? null);
|
|
2580
|
+
if (!run || run.agentId !== actor.agentId)
|
|
2581
|
+
return [];
|
|
2582
|
+
const context = run.contextSnapshot && typeof run.contextSnapshot === "object"
|
|
2583
|
+
? run.contextSnapshot
|
|
2584
|
+
: null;
|
|
2585
|
+
const paperclipIssue = context?.paperclipIssue && typeof context.paperclipIssue === "object"
|
|
2586
|
+
? context.paperclipIssue
|
|
2587
|
+
: null;
|
|
2588
|
+
const workingIssueId = readNonEmptyString(context?.issueId) ??
|
|
2589
|
+
readNonEmptyString(context?.taskId) ??
|
|
2590
|
+
readNonEmptyString(paperclipIssue?.id);
|
|
2591
|
+
if (!workingIssueId ||
|
|
2592
|
+
!isUuidLike(workingIssueId) ||
|
|
2593
|
+
workingIssueId === createdIssue.id)
|
|
2594
|
+
return [];
|
|
2595
|
+
const workingIssue = await db
|
|
2596
|
+
.select({
|
|
2597
|
+
id: issueRows.id,
|
|
2598
|
+
identifier: issueRows.identifier,
|
|
2599
|
+
conversationAgentId: issueRows.conversationAgentId,
|
|
2600
|
+
})
|
|
2601
|
+
.from(issueRows)
|
|
2602
|
+
.where(and(eq(issueRows.id, workingIssueId), eq(issueRows.companyId, companyId)))
|
|
2603
|
+
.then((rows) => rows[0] ?? null);
|
|
2604
|
+
if (!workingIssue || workingIssue.conversationAgentId)
|
|
2605
|
+
return [];
|
|
2606
|
+
const workingLabel = workingIssue.identifier ?? workingIssue.id;
|
|
2607
|
+
return [
|
|
2608
|
+
{
|
|
2609
|
+
code: "parent_missing",
|
|
2610
|
+
message: `Created without parentId while your run is working on ${workingLabel}. ` +
|
|
2611
|
+
`If this issue came out of ${workingLabel} (follow-up, deploy, fix, review), ` +
|
|
2612
|
+
`set parentId to ${workingIssue.id} with paperclipUpdateIssue, and create such work ` +
|
|
2613
|
+
`with paperclipCreateChildIssue next time. Ignore this only for independent work.`,
|
|
2614
|
+
suggestedParentIssueId: workingIssue.id,
|
|
2615
|
+
suggestedParentIdentifier: workingIssue.identifier,
|
|
2616
|
+
},
|
|
2617
|
+
];
|
|
2618
|
+
}
|
|
2566
2619
|
async function resolveAgentTrustForIssue(input, companyId, issue) {
|
|
2567
2620
|
if (!input.agentId)
|
|
2568
2621
|
return null;
|
|
@@ -8588,6 +8641,14 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
8588
8641
|
const { originKind: _onboardingOriginKind, ...ordinaryCreateInput } = createInput;
|
|
8589
8642
|
issue = await svc.create(companyId, ordinaryCreateInput);
|
|
8590
8643
|
}
|
|
8644
|
+
const dedupReplayOfForeignIssue = deduplicationReason !== null &&
|
|
8645
|
+
issue.originRunId !== actor.runId &&
|
|
8646
|
+
issue.createdByAgentId !== actor.agentId;
|
|
8647
|
+
const createWarnings = watchdogProductBugFollowUp ||
|
|
8648
|
+
rawCreateBody.inheritExecutionWorkspaceFromIssueId ||
|
|
8649
|
+
dedupReplayOfForeignIssue
|
|
8650
|
+
? []
|
|
8651
|
+
: await resolveMissingParentCreateWarnings(companyId, actor, issue);
|
|
8591
8652
|
if (deduplicationReason) {
|
|
8592
8653
|
const referenceSummary = await issueReferencesSvc.listIssueReferenceSummary(issue.id);
|
|
8593
8654
|
res.status(200).json({
|
|
@@ -8596,6 +8657,7 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
8596
8657
|
deduplicationReason,
|
|
8597
8658
|
relatedWork: referenceSummary,
|
|
8598
8659
|
referencedIssueIdentifiers: referenceSummary.outbound.map((item) => item.issue.identifier ?? item.issue.id),
|
|
8660
|
+
...(createWarnings.length > 0 ? { warnings: createWarnings } : {}),
|
|
8599
8661
|
});
|
|
8600
8662
|
return;
|
|
8601
8663
|
}
|
|
@@ -8742,6 +8804,7 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
8742
8804
|
...issue,
|
|
8743
8805
|
relatedWork: referenceSummary,
|
|
8744
8806
|
referencedIssueIdentifiers: referenceSummary.outbound.map((item) => item.issue.identifier ?? item.issue.id),
|
|
8807
|
+
...(createWarnings.length > 0 ? { warnings: createWarnings } : {}),
|
|
8745
8808
|
});
|
|
8746
8809
|
});
|
|
8747
8810
|
router.post("/issues/:id/children", applyCreateIssueStatusDefault, validateIssueMutationBody(createChildIssueSchema), async (req, res) => {
|