minutework 0.1.39 → 0.1.40
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/assets/claude-local/skills/README.md +1 -0
- package/assets/claude-local/skills/ai-capability-defaults/SKILL.md +3 -0
- package/assets/claude-local/skills/integration-broker-and-connectors/SKILL.md +122 -0
- package/assets/claude-local/skills/layering-and-import-modes/SKILL.md +4 -0
- package/assets/claude-local/skills/project-overview-and-strategy/SKILL.md +6 -0
- package/package.json +3 -3
|
@@ -47,6 +47,7 @@ Generated-workspace-first guidance should live here, especially:
|
|
|
47
47
|
- `workspace-guidance-refresh/SKILL.md`
|
|
48
48
|
- `shell-architecture/SKILL.md`
|
|
49
49
|
- `runtime-capability-inventory/SKILL.md`
|
|
50
|
+
- `integration-broker-and-connectors/SKILL.md`
|
|
50
51
|
- `layering-and-import-modes/SKILL.md`
|
|
51
52
|
- `standalone-mobile-client/SKILL.md`
|
|
52
53
|
- `capability-gap-reporting/SKILL.md`
|
|
@@ -14,6 +14,9 @@ generation, itinerary generation, content generation, or structured-output UX.
|
|
|
14
14
|
- `tenant-app` should gather inputs, invoke typed platform/runtime surfaces, and
|
|
15
15
|
display or edit outputs; do not embed provider credentials or direct
|
|
16
16
|
browser-to-model calls in the web app for MVP.
|
|
17
|
+
- When AI agents need to drive external providers such as ads, also read
|
|
18
|
+
`integration-broker-and-connectors/SKILL.md` and use the governed connector
|
|
19
|
+
capability instead of browser or sidecar provider calls.
|
|
17
20
|
- Do not create a bespoke `sidecar` for drafting/generation unless the existing
|
|
18
21
|
runtime AI capability has a concrete gap or there is another backend-only
|
|
19
22
|
requirement.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-broker-and-connectors
|
|
3
|
+
description: "External integrations, ads, brokered connectors, spend/approval governance, or whether to use mw.connector.ads instead of bespoke provider code."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Integration Broker And Connectors
|
|
7
|
+
|
|
8
|
+
Use this skill when a request touches external integrations, paid acquisition,
|
|
9
|
+
ads, provider connectors, agent-driven provider actions, spend limits,
|
|
10
|
+
approvals, credentials, receipts, or questions like "can the agent run ads?"
|
|
11
|
+
|
|
12
|
+
## What It Is
|
|
13
|
+
|
|
14
|
+
MinuteWork has a governed integration broker for external systems. The first
|
|
15
|
+
native connector is `mw.connector.ads`.
|
|
16
|
+
|
|
17
|
+
- Runtime owns the local action surface and exposes connector actions as
|
|
18
|
+
`workflow.run_action` capability calls.
|
|
19
|
+
- Platform DJ owns provider credentials, provider account scope, tenant broker
|
|
20
|
+
connections, advertiser identity, spend authorization, approval policy,
|
|
21
|
+
append-only receipts, webhooks, and adapter execution.
|
|
22
|
+
- Generated apps and sidecars should call the brokered capability instead of
|
|
23
|
+
storing provider credentials or implementing ad-spend policy locally.
|
|
24
|
+
- Provider availability still depends on configured platform broker accounts.
|
|
25
|
+
Do not promise a provider is live just because a provider key is reserved.
|
|
26
|
+
|
|
27
|
+
## Compose, Do Not Rebuild
|
|
28
|
+
|
|
29
|
+
Before adding ad, spend, approval, credential, or connector logic to
|
|
30
|
+
`tenant-app` or a `sidecar`, check whether the integration belongs on the
|
|
31
|
+
broker path.
|
|
32
|
+
|
|
33
|
+
- Use `integration_broker.execute` for brokered connector actions.
|
|
34
|
+
- Use `mw.connector.ads` for ads instead of inventing tenant-local ad APIs.
|
|
35
|
+
- Add providers through the platform broker adapter seam, not browser code,
|
|
36
|
+
generated app credentials, or ungoverned sidecar calls.
|
|
37
|
+
- Keep provider account and organization scope in Platform DJ. Tenant payloads
|
|
38
|
+
must not supply provider account, ad account, organization, or credential
|
|
39
|
+
identifiers as a way to bypass the broker connection.
|
|
40
|
+
- Use app-pack or schema changes for tenant product data around the integration,
|
|
41
|
+
but keep external provider writes on the governed broker.
|
|
42
|
+
|
|
43
|
+
## Ads Connector
|
|
44
|
+
|
|
45
|
+
`mw.connector.ads` is a first-party runtime app-pack baseline. It is available
|
|
46
|
+
without a tenant app installing an ads pack.
|
|
47
|
+
|
|
48
|
+
Mutating actions:
|
|
49
|
+
|
|
50
|
+
- `ads.create_campaign`
|
|
51
|
+
- `ads.update_campaign`
|
|
52
|
+
- `ads.pause_campaign`
|
|
53
|
+
- `ads.create_group`
|
|
54
|
+
- `ads.create_creative`
|
|
55
|
+
- `ads.create_ad`
|
|
56
|
+
|
|
57
|
+
Read action:
|
|
58
|
+
|
|
59
|
+
- `ads.fetch_report`
|
|
60
|
+
|
|
61
|
+
Reserved future action:
|
|
62
|
+
|
|
63
|
+
- `ads.record_conversion`
|
|
64
|
+
|
|
65
|
+
Provider keys:
|
|
66
|
+
|
|
67
|
+
- Default: `openaiads`
|
|
68
|
+
- Extensible: `googleads`, `metaads`, `tiktokads`
|
|
69
|
+
|
|
70
|
+
Treat these provider keys as broker-routing keys. Do not infer that a provider
|
|
71
|
+
is configured for a tenant until the runtime capability inventory or platform
|
|
72
|
+
broker preflight reports readiness.
|
|
73
|
+
|
|
74
|
+
## Governance Model
|
|
75
|
+
|
|
76
|
+
Rely on the broker safety model instead of recreating it:
|
|
77
|
+
|
|
78
|
+
- `BrokerProviderAccount` and `BrokerConnection` bind platform-owned provider
|
|
79
|
+
account scope to tenant broker access.
|
|
80
|
+
- `AdvertiserProfile` represents verified advertiser identity and accepted
|
|
81
|
+
terms.
|
|
82
|
+
- `AdsSpendAuthorization` defines approved spend caps.
|
|
83
|
+
- `AdsSpendPolicyReceipt` records reserved/released budget decisions.
|
|
84
|
+
- `TenantWallet.reserved_credits_cents` backs approved future ad spend before
|
|
85
|
+
more metered work can consume the same credits.
|
|
86
|
+
- `BrokerApprovalGrant` gates mutating/spend actions with human approval.
|
|
87
|
+
- `BrokerReceipt` and `BrokerWebhookEvent` provide append-only, payload-digested
|
|
88
|
+
audit trails.
|
|
89
|
+
- `AdsCampaignProjection` and `AdsObjectProjection` project provider objects
|
|
90
|
+
back into scoped tenant/runtime state.
|
|
91
|
+
|
|
92
|
+
Mutating ads actions are approval-gated and budget-gated. Credentials and spend
|
|
93
|
+
policy never belong in browser code, generated app artifacts, or tenant-local
|
|
94
|
+
sidecar configuration.
|
|
95
|
+
|
|
96
|
+
## Builder Decision Rules
|
|
97
|
+
|
|
98
|
+
- For paid-acquisition or ads questions, route through this skill before
|
|
99
|
+
proposing a custom ad manager.
|
|
100
|
+
- For "what can we build?" answers, mention that runtime agents can drive
|
|
101
|
+
governed external integrations when a first-party or broker-backed connector
|
|
102
|
+
exists.
|
|
103
|
+
- For AI-agent workflows, keep AI and provider actions inside governed runtime
|
|
104
|
+
capabilities. UI gathers intent and renders results.
|
|
105
|
+
- For OSS or mature external products, use `attached_app` or sidecar bridge code
|
|
106
|
+
only when the foreign system should remain foreign. Connector writes still
|
|
107
|
+
need broker-style governance when credentials, spend, approvals, or audit are
|
|
108
|
+
involved.
|
|
109
|
+
- If a requested connector is missing, report a platform capability gap instead
|
|
110
|
+
of adding unreviewed provider credentials or a direct network adapter.
|
|
111
|
+
|
|
112
|
+
Useful inspection points when source is available:
|
|
113
|
+
|
|
114
|
+
- `apps/mwv3-platform-dj/apps/integration_broker/models.py`
|
|
115
|
+
- `apps/mwv3-platform-dj/apps/integration_broker/services.py`
|
|
116
|
+
- `apps/mwv3-platform-dj/apps/integration_broker/adapters.py`
|
|
117
|
+
- `apps/mwv3-platform-dj/apps/integration_broker/api/`
|
|
118
|
+
- `apps/mwv3-runtime-dj/apps/runtime_app_host/first_party_packs/mw_connector_ads.py`
|
|
119
|
+
- `apps/mwv3-runtime-dj/apps/runtime_app_host/ads_connector_services.py`
|
|
120
|
+
- `apps/mwv3-runtime-dj/apps/runtime_app_host/integration_broker_capabilities.py`
|
|
121
|
+
- `reference/mwv3-dj6-docs/connector_pack_and_engine_resolution_contract.md`
|
|
122
|
+
- `reference/mwv3-dj6-docs/runtime_app_pack_contract.md`
|
|
@@ -16,6 +16,10 @@ Use this skill when choosing between configuration, app-pack changes, overlays,
|
|
|
16
16
|
or composition inside the Builder sandbox.
|
|
17
17
|
- Durable tenant behavior should usually compile to governed app-pack artifacts,
|
|
18
18
|
not ad hoc backend code.
|
|
19
|
+
- For external integrations that involve credentials, provider writes, spend,
|
|
20
|
+
approvals, or audit receipts, read
|
|
21
|
+
`integration-broker-and-connectors/SKILL.md` and use the broker substrate when
|
|
22
|
+
it fits.
|
|
19
23
|
- Use `attached_app` when a mature foreign system should remain its own
|
|
20
24
|
subsystem and MinuteWork should compile a governed control surface around it.
|
|
21
25
|
- Use `external_repo_intake` only when no reviewed capability skill or cleaner
|
|
@@ -31,6 +31,9 @@ needed:
|
|
|
31
31
|
belongs in governed runtime capabilities instead of browser/provider calls.
|
|
32
32
|
- `layering-and-import-modes/SKILL.md` for build-native vs govern-existing,
|
|
33
33
|
`attached_app`, OSS adoption, and greenfield-last decisions.
|
|
34
|
+
- `integration-broker-and-connectors/SKILL.md` for external integrations, paid
|
|
35
|
+
acquisition, ads, brokered connectors, spend/approval governance, and
|
|
36
|
+
`mw.connector.ads`.
|
|
34
37
|
- `sidecar-generation/SKILL.md` for bridge/integration execution, workers,
|
|
35
38
|
webhooks, schedulers, and backend compute.
|
|
36
39
|
- `standalone-mobile-client/SKILL.md` for Expo/native client boundaries.
|
|
@@ -87,6 +90,9 @@ substrate:
|
|
|
87
90
|
- Runtime agents use `mw.runtime.agent` seed records and namespaced runtime-kind
|
|
88
91
|
tool packs. UI surfaces collect inputs and render governed outputs; they do
|
|
89
92
|
not run model/provider logic directly.
|
|
93
|
+
- Runtime agents can drive external integrations through governed connector
|
|
94
|
+
capabilities such as `mw.connector.ads`; credentials, spend approvals, and
|
|
95
|
+
provider writes stay brokered by the platform.
|
|
90
96
|
- OSS and mature external products are adopted before rebuilding when they fit.
|
|
91
97
|
Use `attached_app` when the foreign system should remain independently
|
|
92
98
|
deployed, and use sidecar bridge code plus runtime agents/tool packs to make
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "minutework",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.40",
|
|
4
4
|
"description": "MinuteWork CLI for workspace scaffolding, local preview workflows, and hosted preview deploys.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"@modelcontextprotocol/sdk": "^1.28.0",
|
|
25
25
|
"jiti": "^2.6.1",
|
|
26
26
|
"zod": "^4.3.6",
|
|
27
|
-
"@minutework/
|
|
28
|
-
"@minutework/
|
|
27
|
+
"@minutework/schema-compiler": "0.1.5",
|
|
28
|
+
"@minutework/platform-config": "0.1.2"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^24.9.1",
|