patchwork-os 0.2.0-beta.8.canary.74 → 0.2.0-beta.8.canary.76
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "patchwork-os",
|
|
3
|
-
"version": "0.2.0-beta.8.canary.
|
|
3
|
+
"version": "0.2.0-beta.8.canary.76",
|
|
4
4
|
"description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -61,8 +61,11 @@ steps:
|
|
|
61
61
|
6. **Linear** — list in-progress and unstarted issues by priority; omit this section entirely if the list is empty or returned an error
|
|
62
62
|
|
|
63
63
|
Be concise. Skip newsletters and automated notifications.
|
|
64
|
-
# Use claude (
|
|
65
|
-
|
|
64
|
+
# Use the claude-code driver (subprocess `claude -p`) — runs under
|
|
65
|
+
# your existing Claude Code subscription, no ANTHROPIC_API_KEY
|
|
66
|
+
# required. Switch to `driver: claude` only if you have an API key
|
|
67
|
+
# set and want the Anthropic API path (different billing).
|
|
68
|
+
driver: claude-code
|
|
66
69
|
into: brief
|
|
67
70
|
- tool: file.write
|
|
68
71
|
path: ~/.patchwork/inbox/morning-brief-{{date}}.md
|
|
@@ -38,7 +38,10 @@ steps:
|
|
|
38
38
|
2. **Issues** — issues needing attention today; omit if empty
|
|
39
39
|
3. **PRs** — PRs waiting on review or action; omit if empty
|
|
40
40
|
4. **Health** — one-sentence overall assessment (on track / needs attention / blocked)
|
|
41
|
-
driver
|
|
41
|
+
# Use the claude-code driver (subprocess `claude -p`) — runs under
|
|
42
|
+
# your existing Claude Code subscription. Switch to `driver: claude`
|
|
43
|
+
# only if you have ANTHROPIC_API_KEY set and prefer the API path.
|
|
44
|
+
driver: claude-code
|
|
42
45
|
awaits: [gather]
|
|
43
46
|
- id: write
|
|
44
47
|
tool: file.write
|
|
@@ -25,22 +25,21 @@ trigger:
|
|
|
25
25
|
path: /customer-escalation
|
|
26
26
|
|
|
27
27
|
steps:
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
# Look the contact up by email. HubSpot's search API accepts a free-form
|
|
29
|
+
# query string (matches name / email / company) — the email itself is a
|
|
30
|
+
# specific enough literal that we get a one-row hit when the email is on
|
|
31
|
+
# file. If you need stricter matching, post-filter in the agent step.
|
|
32
|
+
- tool: hubspot.searchContacts
|
|
33
|
+
query: "{{payload.customer_email}}"
|
|
30
34
|
into: contact
|
|
31
|
-
- tool: hubspot.list_recent_deals
|
|
32
|
-
contact_id: "{{contact.id}}"
|
|
33
|
-
max: 3
|
|
34
|
-
into: deals
|
|
35
35
|
- agent:
|
|
36
36
|
prompt: |
|
|
37
37
|
Compose a Slack alert for the customer-success team. Keep it under
|
|
38
38
|
12 lines. Include: customer name + company, tier (from contact.tier
|
|
39
|
-
if present),
|
|
40
|
-
|
|
39
|
+
if present), what they said, and the ticket link. End with a single
|
|
40
|
+
suggested first move.
|
|
41
41
|
|
|
42
42
|
Contact: {{contact}}
|
|
43
|
-
Deals: {{deals}}
|
|
44
43
|
Summary: {{payload.summary}}
|
|
45
44
|
Ticket: {{payload.ticket_url}}
|
|
46
45
|
into: alert
|
|
@@ -19,13 +19,18 @@ trigger:
|
|
|
19
19
|
path: /meeting-prep
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
|
-
- tool: gmail.
|
|
22
|
+
- tool: gmail.search
|
|
23
23
|
query: "from:({{payload.attendees}}) newer_than:7d"
|
|
24
24
|
max: 10
|
|
25
25
|
into: recent_threads
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
# linear.list_issues filters by assignee / team / state — there is no
|
|
27
|
+
# free-text topic search in the connector. We pull the user's own
|
|
28
|
+
# started/unstarted issues and let the agent correlate them to the
|
|
29
|
+
# meeting topic. Lossier than a real search, but useful + works
|
|
30
|
+
# without a Linear MCP setup.
|
|
31
|
+
- tool: linear.list_issues
|
|
32
|
+
state: "started,unstarted"
|
|
33
|
+
max: 10
|
|
29
34
|
into: related_issues
|
|
30
35
|
- agent:
|
|
31
36
|
prompt: |
|
|
@@ -34,7 +39,8 @@ steps:
|
|
|
34
39
|
Topic: {{payload.topic}}
|
|
35
40
|
Attendees: {{payload.attendees}}
|
|
36
41
|
Recent email threads with attendees: {{recent_threads}}
|
|
37
|
-
|
|
42
|
+
My in-flight Linear issues: {{related_issues}}
|
|
43
|
+
— only mention issues that look related to the topic above.
|
|
38
44
|
|
|
39
45
|
Output sections: Context, Open questions, Suggested first move.
|
|
40
46
|
into: brief
|