@pleaseai/work 0.1.4 → 0.1.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/README.md +10 -1
- package/dist/index.js +35 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -410,9 +410,10 @@ Your prompt template goes here. Available variables:
|
|
|
410
410
|
- {{ issue.description }} — Issue body/description
|
|
411
411
|
- {{ issue.state }} — Current tracker state name
|
|
412
412
|
- {{ issue.url }} — Issue URL
|
|
413
|
-
- {{ issue.
|
|
413
|
+
- {{ issue.assignees }} — Array of assignee logins (GitHub) or emails (Asana)
|
|
414
414
|
- {{ issue.labels }} — Array of label strings (normalized to lowercase)
|
|
415
415
|
- {{ issue.blocked_by }} — Array of blocker refs (each has id, identifier, state)
|
|
416
|
+
- {{ issue.pull_requests }} — Array of linked PRs (each has number, title, url, state, branch_name)
|
|
416
417
|
- {{ issue.priority }} — Numeric priority or null
|
|
417
418
|
- {{ issue.created_at }} — ISO-8601 creation timestamp
|
|
418
419
|
- {{ issue.updated_at }} — ISO-8601 last-updated timestamp
|
|
@@ -437,6 +438,14 @@ Blocked by:
|
|
|
437
438
|
{% endfor %}
|
|
438
439
|
{% endif %}
|
|
439
440
|
|
|
441
|
+
{% if issue.pull_requests.size > 0 %}
|
|
442
|
+
Linked pull requests:
|
|
443
|
+
{% for pr in issue.pull_requests %}
|
|
444
|
+
- PR #{{ pr.number }}: {{ pr.title }} ({{ pr.state }}){% if pr.branch_name %} — branch: {{ pr.branch_name }}{% endif %}{% if pr.url %} — {{ pr.url }}{% endif %}
|
|
445
|
+
|
|
446
|
+
{% endfor %}
|
|
447
|
+
{% endif %}
|
|
448
|
+
|
|
440
449
|
{% if attempt %}
|
|
441
450
|
Retry attempt: {{ attempt }}
|
|
442
451
|
{% endif %}
|
package/dist/index.js
CHANGED
|
@@ -2166,7 +2166,7 @@ var {
|
|
|
2166
2166
|
var package_default = {
|
|
2167
2167
|
name: "@pleaseai/work",
|
|
2168
2168
|
type: "module",
|
|
2169
|
-
version: "0.1.
|
|
2169
|
+
version: "0.1.5",
|
|
2170
2170
|
description: "Symphony-spec orchestrator for Claude Code + Asana/GitHub Projects v2",
|
|
2171
2171
|
license: "FSL-1.1-MIT",
|
|
2172
2172
|
repository: {
|
|
@@ -31717,6 +31717,9 @@ class AppServerClient {
|
|
|
31717
31717
|
if (this.config.claude.command !== "claude") {
|
|
31718
31718
|
options.pathToClaudeCodeExecutable = this.config.claude.command;
|
|
31719
31719
|
}
|
|
31720
|
+
if (this.config.claude.model) {
|
|
31721
|
+
options.model = this.config.claude.model;
|
|
31722
|
+
}
|
|
31720
31723
|
const toolSpecs = getToolSpecs(this.config);
|
|
31721
31724
|
if (toolSpecs.length > 0) {
|
|
31722
31725
|
options.mcpServers = {
|
|
@@ -31877,6 +31880,7 @@ function buildConfig(workflow) {
|
|
|
31877
31880
|
max_concurrent_agents_by_state: stateLimitsValue(agent.max_concurrent_agents_by_state)
|
|
31878
31881
|
},
|
|
31879
31882
|
claude: {
|
|
31883
|
+
model: stringValue(claude.model),
|
|
31880
31884
|
command: commandValue(claude.command) ?? DEFAULTS2.CLAUDE_COMMAND,
|
|
31881
31885
|
permission_mode: stringValue(claude.permission_mode) ?? DEFAULTS2.CLAUDE_PERMISSION_MODE,
|
|
31882
31886
|
allowed_tools: stringArrayValue(claude.allowed_tools, DEFAULTS2.CLAUDE_ALLOWED_TOOLS),
|
|
@@ -36929,6 +36933,7 @@ function issueToTemplateVars(issue2) {
|
|
|
36929
36933
|
url: issue2.url,
|
|
36930
36934
|
labels: issue2.labels,
|
|
36931
36935
|
blocked_by: issue2.blocked_by,
|
|
36936
|
+
pull_requests: issue2.pull_requests,
|
|
36932
36937
|
created_at: issue2.created_at?.toISOString() ?? null,
|
|
36933
36938
|
updated_at: issue2.updated_at?.toISOString() ?? null
|
|
36934
36939
|
};
|
|
@@ -37091,6 +37096,7 @@ function createAsanaAdapter(config2) {
|
|
|
37091
37096
|
assignees: [],
|
|
37092
37097
|
labels: [],
|
|
37093
37098
|
blocked_by: [],
|
|
37099
|
+
pull_requests: [],
|
|
37094
37100
|
created_at: null,
|
|
37095
37101
|
updated_at: null
|
|
37096
37102
|
});
|
|
@@ -37121,6 +37127,7 @@ function normalizeAsanaTask(task, sectionName) {
|
|
|
37121
37127
|
assignees,
|
|
37122
37128
|
labels,
|
|
37123
37129
|
blocked_by: blockedBy,
|
|
37130
|
+
pull_requests: [],
|
|
37124
37131
|
created_at: task.created_at ? new Date(String(task.created_at)) : null,
|
|
37125
37132
|
updated_at: task.modified_at ? new Date(String(task.modified_at)) : null
|
|
37126
37133
|
};
|
|
@@ -37184,12 +37191,16 @@ function createGitHubAdapter(config2) {
|
|
|
37184
37191
|
labels(first: 20) { nodes { name } }
|
|
37185
37192
|
assignees(first: 10) { nodes { login } }
|
|
37186
37193
|
createdAt updatedAt
|
|
37194
|
+
closedByPullRequestsReferences(first: 10, includeClosedPrs: true) {
|
|
37195
|
+
nodes { number title url state headRefName }
|
|
37196
|
+
}
|
|
37187
37197
|
}
|
|
37188
37198
|
... on PullRequest {
|
|
37189
37199
|
number title body url
|
|
37190
37200
|
labels(first: 20) { nodes { name } }
|
|
37191
37201
|
assignees(first: 10) { nodes { login } }
|
|
37192
37202
|
createdAt updatedAt
|
|
37203
|
+
headRefName
|
|
37193
37204
|
}
|
|
37194
37205
|
}
|
|
37195
37206
|
}
|
|
@@ -37216,12 +37227,16 @@ function createGitHubAdapter(config2) {
|
|
|
37216
37227
|
labels(first: 20) { nodes { name } }
|
|
37217
37228
|
assignees(first: 10) { nodes { login } }
|
|
37218
37229
|
createdAt updatedAt
|
|
37230
|
+
closedByPullRequestsReferences(first: 10, includeClosedPrs: true) {
|
|
37231
|
+
nodes { number title url state headRefName }
|
|
37232
|
+
}
|
|
37219
37233
|
}
|
|
37220
37234
|
... on PullRequest {
|
|
37221
37235
|
number title body url
|
|
37222
37236
|
labels(first: 20) { nodes { name } }
|
|
37223
37237
|
assignees(first: 10) { nodes { login } }
|
|
37224
37238
|
createdAt updatedAt
|
|
37239
|
+
headRefName
|
|
37225
37240
|
}
|
|
37226
37241
|
}
|
|
37227
37242
|
}
|
|
@@ -37253,12 +37268,16 @@ function createGitHubAdapter(config2) {
|
|
|
37253
37268
|
labels(first: 20) { nodes { name } }
|
|
37254
37269
|
assignees(first: 10) { nodes { login } }
|
|
37255
37270
|
createdAt updatedAt
|
|
37271
|
+
closedByPullRequestsReferences(first: 10, includeClosedPrs: true) {
|
|
37272
|
+
nodes { number title url state headRefName }
|
|
37273
|
+
}
|
|
37256
37274
|
}
|
|
37257
37275
|
... on PullRequest {
|
|
37258
37276
|
number title body url
|
|
37259
37277
|
labels(first: 20) { nodes { name } }
|
|
37260
37278
|
assignees(first: 10) { nodes { login } }
|
|
37261
37279
|
createdAt updatedAt
|
|
37280
|
+
headRefName
|
|
37262
37281
|
}
|
|
37263
37282
|
}
|
|
37264
37283
|
}
|
|
@@ -37386,6 +37405,10 @@ function buildQueryString(filter2) {
|
|
|
37386
37405
|
parts.push(`label:${filter2.label.join(",")}`);
|
|
37387
37406
|
return parts.join(" ");
|
|
37388
37407
|
}
|
|
37408
|
+
function normalizePrState(raw2) {
|
|
37409
|
+
const s2 = String(raw2 ?? "").toLowerCase();
|
|
37410
|
+
return s2 === "closed" || s2 === "merged" ? s2 : "open";
|
|
37411
|
+
}
|
|
37389
37412
|
function normalizeProjectItem(node, status) {
|
|
37390
37413
|
const content = node.content;
|
|
37391
37414
|
const number4 = content?.number;
|
|
@@ -37393,6 +37416,15 @@ function normalizeProjectItem(node, status) {
|
|
|
37393
37416
|
const labels = Array.isArray(content?.labels?.nodes) ? content.labels.nodes.map((l) => (l.name ?? "").toLowerCase()).filter(Boolean) : [];
|
|
37394
37417
|
const assigneeNodes = content?.assignees?.nodes;
|
|
37395
37418
|
const assignees = Array.isArray(assigneeNodes) ? assigneeNodes.map((n2) => n2.login ?? "").filter(Boolean) : [];
|
|
37419
|
+
const prRefNodes = content?.closedByPullRequestsReferences?.nodes;
|
|
37420
|
+
const pullRequests = Array.isArray(prRefNodes) ? prRefNodes.filter((pr) => pr !== null && typeof pr === "object" && typeof pr.number === "number" && pr.number > 0).map((pr) => ({
|
|
37421
|
+
number: pr.number,
|
|
37422
|
+
title: String(pr.title ?? ""),
|
|
37423
|
+
url: pr.url ? String(pr.url) : null,
|
|
37424
|
+
state: normalizePrState(pr.state),
|
|
37425
|
+
branch_name: pr.headRefName ? String(pr.headRefName) : null
|
|
37426
|
+
})) : [];
|
|
37427
|
+
const headRefName = content?.headRefName ? String(content.headRefName) : null;
|
|
37396
37428
|
return {
|
|
37397
37429
|
id: String(node.id ?? ""),
|
|
37398
37430
|
identifier,
|
|
@@ -37400,11 +37432,12 @@ function normalizeProjectItem(node, status) {
|
|
|
37400
37432
|
description: content?.body ? String(content.body) : null,
|
|
37401
37433
|
priority: null,
|
|
37402
37434
|
state: status,
|
|
37403
|
-
branch_name:
|
|
37435
|
+
branch_name: headRefName,
|
|
37404
37436
|
url: content?.url ? String(content.url) : null,
|
|
37405
37437
|
assignees,
|
|
37406
37438
|
labels,
|
|
37407
37439
|
blocked_by: [],
|
|
37440
|
+
pull_requests: pullRequests,
|
|
37408
37441
|
created_at: content?.createdAt ? new Date(String(content.createdAt)) : null,
|
|
37409
37442
|
updated_at: content?.updatedAt ? new Date(String(content.updatedAt)) : null
|
|
37410
37443
|
};
|