minutework 0.1.14 → 0.1.15
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/ai-capability-defaults.md +7 -0
- package/assets/claude-local/skills/capability-gap-reporting.md +25 -0
- package/assets/claude-local/skills/email-ingress-and-thread-routing.md +18 -0
- package/assets/claude-local/skills/shadow-participation-and-guest-threads.md +18 -0
- package/assets/templates/fastapi-sidecar/template.json +1 -1
- package/dist/init.js +6 -0
- package/dist/init.js.map +1 -1
- package/dist/workspace-bootstrap.d.ts +12 -0
- package/dist/workspace-bootstrap.js +102 -0
- package/dist/workspace-bootstrap.js.map +1 -0
- package/package.json +3 -3
|
@@ -17,5 +17,12 @@ generation, itinerary generation, content generation, or structured-output UX.
|
|
|
17
17
|
missing, or unsupported.
|
|
18
18
|
- If runtime AI availability is unclear, inspect the linked runtime/workspace
|
|
19
19
|
context or ask a clarifying question before inventing new AI infrastructure.
|
|
20
|
+
- When AI drafting or generation touches external participants, guests,
|
|
21
|
+
anonymous/public intake, or pre-claim collaboration, also read
|
|
22
|
+
`shadow-participation-and-guest-threads.md` and
|
|
23
|
+
`email-ingress-and-thread-routing.md` before choosing `tenant-app`, gateway,
|
|
24
|
+
runtime, or `sidecar` surfaces.
|
|
25
|
+
- For guest-facing AI flows, inspect runtime, gateway, and platform ingress
|
|
26
|
+
source before inventing a new collaboration or communications backend.
|
|
20
27
|
- Save drafts and generated outputs as runtime-owned data/content/workflow state
|
|
21
28
|
and publish them through the normal published-web or app flows.
|
|
@@ -21,6 +21,31 @@ implementation does not cleanly fit current MinuteWork substrate.
|
|
|
21
21
|
- `suggestedSharedSubstrate`
|
|
22
22
|
- `evidence`
|
|
23
23
|
- `reusability` as `tenantLocalOnly` or `likelyReusable`
|
|
24
|
+
- Field semantics:
|
|
25
|
+
- `currentWorkaround` should describe only the actual current state that exists
|
|
26
|
+
today. Do not describe a planned endpoint, unimplemented route, or proposed
|
|
27
|
+
shared fix as if it already exists.
|
|
28
|
+
- `suggestedSharedSubstrate` should describe the missing capability at the
|
|
29
|
+
contract or substrate level. Keep internal composition choices such as
|
|
30
|
+
`public_handoff` versus direct thread-post dispatch as follow-on design work
|
|
31
|
+
unless the implementation path is already committed.
|
|
32
|
+
- `evidence` should cite real source-backed signals: implemented routes,
|
|
33
|
+
service functions, models, contracts, or explicit unknowns. Avoid simplified
|
|
34
|
+
claims that flatten a richer implementation pattern into one field or helper.
|
|
35
|
+
- Layer heuristics:
|
|
36
|
+
- `baseline_capability` for a shipped built-in system capability that should be
|
|
37
|
+
broadly present by default, such as `mw.core.site`.
|
|
38
|
+
- `runtime_primitive` for a reusable seam composed over existing runtime,
|
|
39
|
+
gateway, ingress, workflow, thread, or AI substrate, but not yet a built-in
|
|
40
|
+
baseline product capability.
|
|
41
|
+
- `reviewed_skill` when the missing piece is Builder-side routing or solution
|
|
42
|
+
guidance rather than runtime/platform substrate.
|
|
43
|
+
- `app_pack` when the missing reusable thing should land as an installable
|
|
44
|
+
product capability rather than a lower-level primitive.
|
|
45
|
+
- `overlay_only` when the gap is presentation, projection, or policy layering
|
|
46
|
+
over existing substrate rather than new execution capability.
|
|
47
|
+
- `attached_app` when the right home is an attached-app integration surface
|
|
48
|
+
rather than shared core substrate.
|
|
24
49
|
- Prefer one concrete gap per missing shared capability.
|
|
25
50
|
- Use gap reports to tell humans where MinuteWork needs new substrate. Do not
|
|
26
51
|
treat them as automatic implementation instructions.
|
|
@@ -24,13 +24,31 @@ workflows, guest chat, or thread-based communication with external parties.
|
|
|
24
24
|
systems.
|
|
25
25
|
- Some provider-specific or polished reply UX may still be partial. Inspect
|
|
26
26
|
source before claiming a turnkey capability exists.
|
|
27
|
+
- Implementation cues in current source:
|
|
28
|
+
- Treat email ingress, public handoff, guest chat, and similar external
|
|
29
|
+
collaboration as one routing family: external identity -> route ->
|
|
30
|
+
thread/workstream continuity -> runtime payload.
|
|
31
|
+
- Platform ingress commonly carries routing and continuity fields such as
|
|
32
|
+
`external_identity_key`, `visitor_email`, `visitor_name`, `surface_key`, and
|
|
33
|
+
`handoff_ref` in `apps/mwv3-platform-dj/apps/published_web/services.py`,
|
|
34
|
+
even when the surface is web rather than email.
|
|
35
|
+
- Runtime post creation can preserve both routing and continuity metadata
|
|
36
|
+
through `user_ref`, `actor_context`, and `continuity_context` in
|
|
37
|
+
`apps/mwv3-runtime-dj/apps/runtime_threads/services.py`. Reuse those fields
|
|
38
|
+
before inventing a second guest payload model.
|
|
39
|
+
- `apps/mwv3-platform-dj/apps/gateway_api/runtime_dispatch.py` shows the same
|
|
40
|
+
routing family dispatching both `public_handoff` and direct user thread-post
|
|
41
|
+
ingress into runtime.
|
|
27
42
|
|
|
28
43
|
Useful inspection points when source is available:
|
|
29
44
|
|
|
30
45
|
- `apps/mwv3-platform-dj/apps/gateway_api/views.py`
|
|
31
46
|
- `apps/mwv3-platform-dj/apps/gateway_api/services.py`
|
|
47
|
+
- `apps/mwv3-platform-dj/apps/gateway_api/runtime_dispatch.py`
|
|
32
48
|
- `apps/mwv3-platform-dj/apps/channels/services.py`
|
|
49
|
+
- `apps/mwv3-platform-dj/apps/published_web/services.py`
|
|
33
50
|
- `apps/mwv3-runtime-dj/apps/runtime_agents/services.py`
|
|
51
|
+
- `apps/mwv3-runtime-dj/apps/runtime_threads/services.py`
|
|
34
52
|
- `apps/mwv3-runtime-dj/apps/runtime_communication/services.py`
|
|
35
53
|
- `reference/mwv3-dj6-docs/agent_mediated_external_workflows.md`
|
|
36
54
|
- `reference/mwv3-dj6-docs/email_connector_wave1_audit.md`
|
|
@@ -22,6 +22,22 @@ their own runtime yet.
|
|
|
22
22
|
or provisioning step, not as a silent mutation of the existing guest record.
|
|
23
23
|
- If the needed collaboration primitive does not exist, report a capability gap
|
|
24
24
|
instead of inventing tenant-local substrate blindly.
|
|
25
|
+
- Implementation cues in current source:
|
|
26
|
+
- Platform/public ingress often starts from external-identity fields such as
|
|
27
|
+
`external_identity_key`, `visitor_email`, `visitor_name`, and continuity
|
|
28
|
+
anchors such as `handoff_ref` in
|
|
29
|
+
`apps/mwv3-platform-dj/apps/published_web/services.py`.
|
|
30
|
+
- Inspect `accept_public_handoff(...)` before assuming guest participation
|
|
31
|
+
needs browser auth, a parallel guest table, or a bespoke invite-only model.
|
|
32
|
+
That path already resolves or creates the shadow tenant and shadow person,
|
|
33
|
+
creates a `GUEST_SHARED` thread, and hands continuity off to runtime.
|
|
34
|
+
- Runtime thread posts may carry `actor_context`, `continuity_context`, and
|
|
35
|
+
`user_ref` together in `apps/mwv3-runtime-dj/apps/runtime_threads/services.py`.
|
|
36
|
+
Treat those as complementary context carriers, not as competing identity
|
|
37
|
+
models.
|
|
38
|
+
- Do not reduce external participation to `user_ref` alone. The platform-side
|
|
39
|
+
shadow and external-identity records remain the collaboration anchor even
|
|
40
|
+
when runtime posts also include `user_ref` or other metadata.
|
|
25
41
|
|
|
26
42
|
Useful inspection points when source is available:
|
|
27
43
|
|
|
@@ -31,3 +47,5 @@ Useful inspection points when source is available:
|
|
|
31
47
|
- `apps/mwv3-platform-dj/apps/channels/services.py`
|
|
32
48
|
- `apps/mwv3-platform-dj/apps/identity/services.py`
|
|
33
49
|
- `apps/mwv3-platform-dj/apps/threads/models.py`
|
|
50
|
+
- `apps/mwv3-platform-dj/apps/published_web/services.py`
|
|
51
|
+
- `apps/mwv3-runtime-dj/apps/runtime_threads/services.py`
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"template_bundle_ref": "runtime/builder/templates/fastapi-sidecar",
|
|
6
6
|
"template_version": "0.1.0",
|
|
7
7
|
"materialize": {
|
|
8
|
-
"destination": "
|
|
8
|
+
"destination": "sidecar"
|
|
9
9
|
},
|
|
10
10
|
"builder_edit_mode": "workspace_copy_only",
|
|
11
11
|
"seed_source": "runtime/builder/templates/fastapi-sidecar",
|
package/dist/init.js
CHANGED
|
@@ -2,6 +2,7 @@ import { promises as fs } from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { materializeManagedWorkspaceAssets } from "./workspace-assets.js";
|
|
5
|
+
import { bootstrapVmLocalWorkspaceEnv } from "./workspace-bootstrap.js";
|
|
5
6
|
const ROOT_ENV_EXAMPLE = `# Optional repo-local MinuteWork CLI overrides.
|
|
6
7
|
# The local platform URL is wired automatically inside a MinuteWork workspace.
|
|
7
8
|
# Starter-local runtime variables stay inside tenant-app/.env.example and sidecar/.env.example.
|
|
@@ -110,6 +111,11 @@ export async function runInit(options) {
|
|
|
110
111
|
if (options.starters.sidecar) {
|
|
111
112
|
await materializeStarter(targetDirectory, workspaceSlug, "sidecar");
|
|
112
113
|
}
|
|
114
|
+
await bootstrapVmLocalWorkspaceEnv({
|
|
115
|
+
cwd: options.cwd,
|
|
116
|
+
starters: options.starters,
|
|
117
|
+
workspaceRoot: targetDirectory,
|
|
118
|
+
});
|
|
113
119
|
return {
|
|
114
120
|
rootDirectory: targetDirectory,
|
|
115
121
|
workspaceSlug,
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type StarterSelection = {
|
|
2
|
+
tenantApp: boolean;
|
|
3
|
+
sidecar: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare function bootstrapVmLocalWorkspaceEnv(options: {
|
|
6
|
+
cwd: string;
|
|
7
|
+
env?: NodeJS.ProcessEnv;
|
|
8
|
+
platform?: NodeJS.Platform;
|
|
9
|
+
starters: StarterSelection;
|
|
10
|
+
workspaceRoot: string;
|
|
11
|
+
}): Promise<boolean>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { promises as fs } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
export async function bootstrapVmLocalWorkspaceEnv(options) {
|
|
4
|
+
const workspaceWiring = await loadVmLocalWorkspaceWiring({
|
|
5
|
+
cwd: options.cwd,
|
|
6
|
+
env: options.env,
|
|
7
|
+
platform: options.platform,
|
|
8
|
+
});
|
|
9
|
+
if (!workspaceWiring) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
if (options.starters.tenantApp) {
|
|
13
|
+
await writeManagedEnvBlock(path.join(options.workspaceRoot, "tenant-app", ".env.local"), "tenant-app", {
|
|
14
|
+
MW_PLATFORM_BASE_URL: workspaceWiring.platform_base_url ?? "",
|
|
15
|
+
MW_CONTENT_API_TOKEN: workspaceWiring.content_token_plaintext ?? "",
|
|
16
|
+
MW_PUBLIC_BASE_URL: workspaceWiring.public_base_url ?? "",
|
|
17
|
+
MW_PUBLIC_SITE_PROPERTY_KEY: workspaceWiring.public_site_property_key ?? "",
|
|
18
|
+
MW_PUBLIC_SITE_ENV: workspaceWiring.public_site_env ?? "preview",
|
|
19
|
+
MW_ENABLE_RUNTIME_COMMAND_EXAMPLE: "false",
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
if (options.starters.sidecar) {
|
|
23
|
+
await writeManagedEnvBlock(path.join(options.workspaceRoot, "sidecar", ".env.local"), "sidecar", {
|
|
24
|
+
MW_API_BASE_URL: workspaceWiring.api_base_url ?? "",
|
|
25
|
+
MW_RUNTIME_ID: workspaceWiring.runtime_id ?? "",
|
|
26
|
+
MW_TENANT_ID: workspaceWiring.tenant_id ?? "",
|
|
27
|
+
MW_RUNTIME_KEY_PATH: workspaceWiring.runtime_key_path ?? "",
|
|
28
|
+
MW_PLATFORM_DISPATCH_TOKEN: workspaceWiring.platform_dispatch_token ?? "",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
async function loadVmLocalWorkspaceWiring(options) {
|
|
34
|
+
const platform = options.platform ?? process.platform;
|
|
35
|
+
if (platform !== "linux") {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const env = options.env ?? process.env;
|
|
39
|
+
const runtimeIdPath = env.MW_RUNTIME_BOOTSTRAP_RUNTIME_ID_FILE ?? "/var/lib/minutework/runtime-id";
|
|
40
|
+
const runtimeId = await readOptionalTrimmedFile(runtimeIdPath);
|
|
41
|
+
if (!runtimeId) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const stateRootOverride = env.MW_RUNTIME_BOOTSTRAP_STATE_ROOT;
|
|
45
|
+
const home = env.HOME ?? process.env.HOME ?? "";
|
|
46
|
+
if (!home) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const wiringPath = stateRootOverride
|
|
50
|
+
? path.join(stateRootOverride, runtimeId, "state", "workspace-wiring.json")
|
|
51
|
+
: path.join(home, ".local", "share", "minutework", "runtimes", runtimeId, "state", "workspace-wiring.json");
|
|
52
|
+
try {
|
|
53
|
+
const payload = JSON.parse(await fs.readFile(wiringPath, "utf8"));
|
|
54
|
+
return Object.fromEntries(Object.entries(payload).map(([key, value]) => [key, String(value ?? "")]));
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async function writeManagedEnvBlock(targetPath, blockName, values) {
|
|
61
|
+
const startMarker = `# >>> MinuteWork managed: ${blockName}`;
|
|
62
|
+
const endMarker = `# <<< MinuteWork managed: ${blockName}`;
|
|
63
|
+
const renderedBlock = renderManagedEnvBlock(startMarker, endMarker, values);
|
|
64
|
+
const existing = await readOptionalUtf8File(targetPath);
|
|
65
|
+
let nextContent;
|
|
66
|
+
if (existing.includes(startMarker) && existing.includes(endMarker)) {
|
|
67
|
+
const [prefix, remainder] = existing.split(`${startMarker}\n`, 2);
|
|
68
|
+
const [, suffix = ""] = remainder.split(`${endMarker}\n`, 2);
|
|
69
|
+
nextContent = `${prefix}${renderedBlock}${suffix}`;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const separator = existing.length === 0 || existing.endsWith("\n") ? "" : "\n";
|
|
73
|
+
nextContent = `${existing}${separator}${renderedBlock}`;
|
|
74
|
+
}
|
|
75
|
+
await fs.mkdir(path.dirname(targetPath), { recursive: true });
|
|
76
|
+
await fs.writeFile(targetPath, nextContent, "utf8");
|
|
77
|
+
}
|
|
78
|
+
function renderManagedEnvBlock(startMarker, endMarker, values) {
|
|
79
|
+
const lines = [startMarker];
|
|
80
|
+
for (const key of Object.keys(values).sort()) {
|
|
81
|
+
lines.push(`${key}=${String(values[key] ?? "").replace(/\n/g, "\\n")}`);
|
|
82
|
+
}
|
|
83
|
+
lines.push(endMarker);
|
|
84
|
+
return `${lines.join("\n")}\n`;
|
|
85
|
+
}
|
|
86
|
+
async function readOptionalTrimmedFile(targetPath) {
|
|
87
|
+
try {
|
|
88
|
+
return (await fs.readFile(targetPath, "utf8")).trim();
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return "";
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async function readOptionalUtf8File(targetPath) {
|
|
95
|
+
try {
|
|
96
|
+
return await fs.readFile(targetPath, "utf8");
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return "";
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=workspace-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-bootstrap.js","sourceRoot":"","sources":["../src/workspace-bootstrap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "minutework",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "MinuteWork CLI for workspace scaffolding, local preview workflows, and hosted preview deploys.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"@modelcontextprotocol/sdk": "^1.28.0",
|
|
24
24
|
"jiti": "^2.6.1",
|
|
25
25
|
"zod": "^4.3.6",
|
|
26
|
-
"@minutework/
|
|
27
|
-
"@minutework/
|
|
26
|
+
"@minutework/schema-compiler": "0.1.0",
|
|
27
|
+
"@minutework/platform-config": "0.1.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^24.9.1",
|