@marifold/core 0.66.0 → 0.69.0

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.
Files changed (77) hide show
  1. package/dist/agent/AgentRunner.d.ts.map +1 -1
  2. package/dist/agent/AgentRunner.js +18 -6
  3. package/dist/agent/AgentRunner.js.map +1 -1
  4. package/dist/agent/tools/SkillAppTools.d.ts +90 -0
  5. package/dist/agent/tools/SkillAppTools.d.ts.map +1 -0
  6. package/dist/agent/tools/SkillAppTools.js +402 -0
  7. package/dist/agent/tools/SkillAppTools.js.map +1 -0
  8. package/dist/agent/tools/SkillManagementTool.d.ts +10 -1
  9. package/dist/agent/tools/SkillManagementTool.d.ts.map +1 -1
  10. package/dist/agent/tools/SkillManagementTool.js +95 -42
  11. package/dist/agent/tools/SkillManagementTool.js.map +1 -1
  12. package/dist/app/AppStore.d.ts.map +1 -1
  13. package/dist/app/AppStore.js +6 -0
  14. package/dist/app/AppStore.js.map +1 -1
  15. package/dist/app/SkillAppCompiler.d.ts.map +1 -1
  16. package/dist/app/SkillAppCompiler.js +59 -3
  17. package/dist/app/SkillAppCompiler.js.map +1 -1
  18. package/dist/app/SkillAppDsl.d.ts +17 -0
  19. package/dist/app/SkillAppDsl.d.ts.map +1 -1
  20. package/dist/app/SkillAppDsl.js +9 -0
  21. package/dist/app/SkillAppDsl.js.map +1 -1
  22. package/dist/app/SkillAppInstanceRegistry.d.ts +22 -2
  23. package/dist/app/SkillAppInstanceRegistry.d.ts.map +1 -1
  24. package/dist/app/SkillAppInstanceRegistry.js +248 -0
  25. package/dist/app/SkillAppInstanceRegistry.js.map +1 -1
  26. package/dist/app/SkillAppSchema.d.ts +37 -2
  27. package/dist/app/SkillAppSchema.d.ts.map +1 -1
  28. package/dist/app/SkillAppSchema.js.map +1 -1
  29. package/dist/channels/TelegramBridge.d.ts +0 -1
  30. package/dist/channels/TelegramBridge.d.ts.map +1 -1
  31. package/dist/channels/TelegramBridge.js +8 -26
  32. package/dist/channels/TelegramBridge.js.map +1 -1
  33. package/dist/config/ConfigManager.d.ts.map +1 -1
  34. package/dist/config/ConfigManager.js +0 -1
  35. package/dist/config/ConfigManager.js.map +1 -1
  36. package/dist/config/ConfigSchema.d.ts +13 -4
  37. package/dist/config/ConfigSchema.d.ts.map +1 -1
  38. package/dist/index.d.ts +5 -5
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/memory/MemoryControls.js +1 -1
  43. package/dist/memory/MemoryControls.js.map +1 -1
  44. package/dist/profiles/ProfileInstructions.d.ts +15 -0
  45. package/dist/profiles/ProfileInstructions.d.ts.map +1 -0
  46. package/dist/profiles/ProfileInstructions.js +101 -0
  47. package/dist/profiles/ProfileInstructions.js.map +1 -0
  48. package/dist/profiles/ProfileManager.d.ts +15 -6
  49. package/dist/profiles/ProfileManager.d.ts.map +1 -1
  50. package/dist/profiles/ProfileManager.js +76 -18
  51. package/dist/profiles/ProfileManager.js.map +1 -1
  52. package/dist/profiles/ProfileResolver.d.ts.map +1 -1
  53. package/dist/profiles/ProfileResolver.js +37 -8
  54. package/dist/profiles/ProfileResolver.js.map +1 -1
  55. package/dist/runtime/MarifoldRuntime.d.ts +7 -5
  56. package/dist/runtime/MarifoldRuntime.d.ts.map +1 -1
  57. package/dist/runtime/MarifoldRuntime.js +99 -16
  58. package/dist/runtime/MarifoldRuntime.js.map +1 -1
  59. package/dist/runtime/MarifoldTypes.d.ts +1 -1
  60. package/dist/skill/BuiltInSkillAppBuilder.d.ts +10 -0
  61. package/dist/skill/BuiltInSkillAppBuilder.d.ts.map +1 -0
  62. package/dist/skill/BuiltInSkillAppBuilder.js +34 -0
  63. package/dist/skill/BuiltInSkillAppBuilder.js.map +1 -0
  64. package/dist/skill/BuiltInSkillManager.d.ts.map +1 -1
  65. package/dist/skill/BuiltInSkillManager.js +2 -1
  66. package/dist/skill/BuiltInSkillManager.js.map +1 -1
  67. package/dist/skill/BuiltInSkills.d.ts.map +1 -1
  68. package/dist/skill/BuiltInSkills.js +47 -10
  69. package/dist/skill/BuiltInSkills.js.map +1 -1
  70. package/dist/skill/index.d.ts +1 -0
  71. package/dist/skill/index.d.ts.map +1 -1
  72. package/dist/skill/index.js +4 -1
  73. package/dist/skill/index.js.map +1 -1
  74. package/dist/workspace/WorkspaceInitializer.d.ts.map +1 -1
  75. package/dist/workspace/WorkspaceInitializer.js +10 -13
  76. package/dist/workspace/WorkspaceInitializer.js.map +1 -1
  77. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ export interface SkillAppBuilderGuideOptions {
2
+ profile: string;
3
+ appsDir: string;
4
+ }
5
+ /** Cheap lazy trigger for natural-language SkillApp creation requests. */
6
+ export declare function mentionsSkillApps(prompt: string): boolean;
7
+ /** Path-aware instructions that make the protected builder available without
8
+ * requiring users to know or type its explicit `$skillapp-builder` name. */
9
+ export declare function buildSkillAppBuilderGuide(options: SkillAppBuilderGuideOptions): string;
10
+ //# sourceMappingURL=BuiltInSkillAppBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltInSkillAppBuilder.d.ts","sourceRoot":"","sources":["../../src/skill/BuiltInSkillAppBuilder.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;4EAC4E;AAC5E,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CActF"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mentionsSkillApps = mentionsSkillApps;
4
+ exports.buildSkillAppBuilderGuide = buildSkillAppBuilderGuide;
5
+ const SKILL_APP_TERMS = [
6
+ '技能应用',
7
+ '技能 app',
8
+ 'スキルアプリ',
9
+ '스킬 앱',
10
+ ];
11
+ /** Cheap lazy trigger for natural-language SkillApp creation requests. */
12
+ function mentionsSkillApps(prompt) {
13
+ const normalized = prompt.normalize('NFKC').toLowerCase();
14
+ return /(^|[^\p{L}\p{N}_])skill[\s-]*apps?([^\p{L}\p{N}_]|$)/u.test(normalized)
15
+ || SKILL_APP_TERMS.some(term => normalized.includes(term));
16
+ }
17
+ /** Path-aware instructions that make the protected builder available without
18
+ * requiring users to know or type its explicit `$skillapp-builder` name. */
19
+ function buildSkillAppBuilderGuide(options) {
20
+ return `## Internal $skillapp-builder guide
21
+
22
+ This request concerns designing, creating, or updating a Marifold SkillApp.
23
+
24
+ - The active profile is ${JSON.stringify(options.profile)} and the configured App directory is ${JSON.stringify(options.appsDir)}.
25
+ - Call inspect_skill_apps first. Its current component signatures, canonical templates, bundle rules, existing Apps, profiles, and effective Skills are authoritative. Adapt the matching template instead of probing App directories or arbitrary host paths for examples.
26
+ - Help turn a rough idea into a focused workflow and layout. Infer obvious details; use ask_user to batch only essential decisions that materially change the result.
27
+ - Keep skillapp.ts declarative and use only the static builders reported by inspect_skill_apps. Do not use shell_exec, write_file, or arbitrary project files to create an App.
28
+ - Download represents one renderer-created text file with a stable filename declared in skillapp.ts. Multiple declared Download components may expose multiple static text downloads. Do not use it for binary files, per-run filenames, or dynamic file collections; explain that artifact-output limit when it is essential to the request.
29
+ - Prefer an existing profile Skill when it fits. Use interactive: true only with one fixed profile Agent Skill and never combine it with an automatic trigger.
30
+ - A SkillApp that makes SkillApps should invoke the protected skillapp-builder Skill interactively so its runtime can ask questions and request approval.
31
+ - Submit one complete bundle through manage_skill_app. Create must refuse collisions; update is allowed only when the user explicitly requested replacement. The tool validates and atomically installs the bundle after approval. Correct exact validation feedback, but stop after two corrected failures instead of repeatedly submitting variants.
32
+ - Claim success only after manage_skill_app succeeds. The service does not need a restart.`;
33
+ }
34
+ //# sourceMappingURL=BuiltInSkillAppBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltInSkillAppBuilder.js","sourceRoot":"","sources":["../../src/skill/BuiltInSkillAppBuilder.ts"],"names":[],"mappings":";;;;AAAA,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;CACE,CAAC;AAOX,0EAA0E;AAC1E,2BAAkC,MAAc;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,uDAAuD,CAAC,IAAI,CAAC,UAAU,CAAC;WAC1E,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;4EAC4E;AAC5E,mCAA0C,OAAoC;IAC5E,OAAO;;;;0BAIiB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;;;;;;;;2FAQrC,CAAC;AAC5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInSkillManager.d.ts","sourceRoot":"","sources":["../../src/skill/BuiltInSkillManager.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;8EAC8E;AAC9E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAahF"}
1
+ {"version":3,"file":"BuiltInSkillManager.d.ts","sourceRoot":"","sources":["../../src/skill/BuiltInSkillManager.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;8EAC8E;AAC9E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAchF"}
@@ -67,7 +67,8 @@ function buildSkillManagerGuide(options) {
67
67
  This request concerns Marifold skills. Follow these rules for any skill inspection, creation, installation, update, or removal:
68
68
 
69
69
  - The active profile is ${quoted(options.profile)}. Its skill directory is ${quoted(profileSkillsDir)}.
70
- - The global skill directory is ${quoted(options.globalSkillsDir)}. Use it only when the user explicitly requests global scope; otherwise default to the active profile.
70
+ - The global skill directory is ${quoted(options.globalSkillsDir)}. Default every skill creation, installation, update, and removal to this global scope.
71
+ - Use a profile's skill directory only when the user explicitly requests --profile <name>. The protected management Skills validate that the named profile exists. Continue to understand --global and -g as redundant compatibility aliases, but do not recommend them.
71
72
  - A skill lives at <skill-directory>/<name>/SKILL.md, with optional bundled files beside SKILL.md. Never create .claude/skills, .agents/skills, or a skills directory in the working directory.
72
73
  - Profile skills shadow global skills with the same name. Inspect both exact locations before updating or removing, and change only the intended scope.
73
74
  - SKILL.md must contain YAML frontmatter with a lowercase name and a non-empty prompt body. Preserve bundled files unless the user asks to replace the whole skill.
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInSkillManager.js","sourceRoot":"","sources":["../../src/skill/BuiltInSkillManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,IAAI,iCAAa;AAE7B,MAAM,cAAc,GAAG;IACrB,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,WAAW;IACX,aAAa;IACb,YAAY;IACZ,aAAa;IACb,WAAW;IACX,aAAa;IACb,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC;AAQX;8EAC8E;AAC9E,wBAA+B,MAAc;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,6EAA6E;AAC7E,gCAAuC,OAAiC;IACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnF,OAAO;;;;0BAIiB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,MAAM,CAAC,gBAAgB,CAAC;kCACnE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;;;;;iHAKgD,CAAC;AAClH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe;IACpD,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,0EAA0E,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,OAAO,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"BuiltInSkillManager.js","sourceRoot":"","sources":["../../src/skill/BuiltInSkillManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,IAAI,iCAAa;AAE7B,MAAM,cAAc,GAAG;IACrB,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,WAAW;IACX,aAAa;IACb,YAAY;IACZ,aAAa;IACb,WAAW;IACX,aAAa;IACb,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC;AAQX;8EAC8E;AAC9E,wBAA+B,MAAc;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,6EAA6E;AAC7E,gCAAuC,OAAiC;IACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnF,OAAO;;;;0BAIiB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,MAAM,CAAC,gBAAgB,CAAC;kCACnE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;;;;;;iHAMgD,CAAC;AAClH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe;IACpD,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,0EAA0E,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,OAAO,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInSkills.d.ts","sourceRoot":"","sources":["../../src/skill/BuiltInSkills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAyEnD,+FAA+F;AAC/F,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CAKnD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAIvE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD"}
1
+ {"version":3,"file":"BuiltInSkills.d.ts","sourceRoot":"","sources":["../../src/skill/BuiltInSkills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA8GnD,+FAA+F;AAC/F,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CAKnD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAIvE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD"}
@@ -18,7 +18,7 @@ const BUILT_IN_SKILLS = [
18
18
  },
19
19
  {
20
20
  name: 'arguments',
21
- description: 'The skill name, local source path, and optional --global or -g flag.',
21
+ description: 'The skill name, local source path, and optional --profile <name> target.',
22
22
  required: false,
23
23
  },
24
24
  ],
@@ -28,16 +28,16 @@ The requested command is:
28
28
 
29
29
  {{command}} {{arguments}}
30
30
 
31
- Support exactly these interfaces:
31
+ Support these canonical interfaces:
32
32
 
33
- - $skill-installer install <local-path> [--global|-g]
34
- - $skill-installer update <name> --from <local-path> [--global|-g]
35
- - $skill-installer remove|uninstall <name> [--global|-g]
33
+ - $skill-installer install <local-path> [--profile <name>]
34
+ - $skill-installer update <name> --from <local-path> [--profile <name>]
35
+ - $skill-installer remove|uninstall <name> [--profile <name>]
36
36
  - $skill-installer help
37
37
 
38
- Profile scope is the default. Use global scope only when --global or -g is present. A local source may be one Markdown file or a folder containing SKILL.md. Do not fetch network sources.
38
+ Global scope is the default, so a newly installed Skill is available to every profile. Use profile scope only when --profile <name> names an existing profile. Continue to accept --global or -g as redundant compatibility aliases, but do not recommend them. A local source may be one Markdown file or a folder containing SKILL.md. Do not fetch network sources.
39
39
 
40
- For install, call manage_skill with action install, the resolved scope, and source. Installing over an existing skill is allowed for compatibility; clearly report that it was updated. For update, require a name and --from path, then call manage_skill with action update. For remove or uninstall, require a name and call manage_skill with action remove. The tool validates names, source content, exact scope, bundled files, protected built-ins, and shadowing outcomes.
40
+ For install, call manage_skill with action install, the resolved scope, and source. For profile scope, also pass the exact profile name. Installing over an existing skill is allowed for compatibility; clearly report that it was updated. For update, require a name and --from path, then call manage_skill with action update. For remove or uninstall, require a name and call manage_skill with action remove. The tool validates names, source content, exact scope, bundled files, protected built-ins, and shadowing outcomes.
41
41
 
42
42
  For help or malformed arguments, do not mutate anything. Return the supported syntax and briefly explain profile/global scope and profile shadowing. Never use shell_exec, write_file, or improvised filesystem mutation for these operations. Users may still manage ordinary skills directly through filesystem operations when they explicitly choose to do so.`,
43
43
  },
@@ -49,7 +49,7 @@ For help or malformed arguments, do not mutate anything. Return the supported sy
49
49
  variables: [
50
50
  {
51
51
  name: 'request',
52
- description: 'The skill name, optional --global or -g flag, and any creation requirements.',
52
+ description: 'The skill name, optional --profile <name> target, and any creation requirements.',
53
53
  required: false,
54
54
  default: 'No name or requirements were supplied.',
55
55
  },
@@ -60,7 +60,9 @@ The user's creation request is:
60
60
 
61
61
  {{request}}
62
62
 
63
- Create a marifold.skill.v0 folder containing SKILL.md and only the bundled text files the skill genuinely needs. Profile scope is the default. Use global scope only when the user explicitly supplies --global or -g.
63
+ This creator's output is a Marifold Skill (a SKILL.md bundle), not a SkillApp bundle. Decide from the user's requested deliverable rather than keyword mentions: a valid Skill may explain, support, or be invoked by SkillApps. If the primary requested output is itself a SkillApp, do not create a similarly named Skill; explain the distinction and recommend invoking $skillapp-builder with the same request.
64
+
65
+ Create a marifold.skill.v0 folder containing SKILL.md and only the bundled text files the skill genuinely needs. Global scope is the default, so the Skill is available to every profile. Use profile scope only when the user explicitly supplies --profile <name> for an existing profile. Continue to accept --global or -g as redundant compatibility aliases, but do not recommend them.
64
66
 
65
67
  Before creating anything, make sure you know the valid lowercase skill name, its purpose and expected output, its inputs/defaults, whether it must pin mode to agent or chat, and whether it needs bundled files. Infer obvious details from the request. If essential information is missing and a reasonable assumption could materially change the skill, use ask_user once to batch the missing questions; do not use a script merely to ask questions.
66
68
 
@@ -68,7 +70,42 @@ Author the skill documentation in English by default. This includes the SKILL.md
68
70
 
69
71
  Generate concise YAML frontmatter plus an authoritative Markdown prompt body. Declare every double-brace variable referenced by the prompt. Omit mode unless it must be pinned; agent mode is for skills that require tools, while chat mode forbids them. Avoid tool-specific directories, speculative files, and unnecessary instructions.
70
72
 
71
- When ready, call manage_skill with action create, the exact name and scope, the complete SKILL.md content, and any bundled text files. Creation must not overwrite an existing skill. If the name already exists, explain the collision and ask whether the user wants to choose another name or update it separately. Never use shell_exec or write_file to bypass validation. After success, report the scope and invocation. Users may still create ordinary skills directly through filesystem operations when they explicitly choose to do so.`,
73
+ When ready, call manage_skill with action create, the exact name and scope, the complete SKILL.md content, and any bundled text files. For profile scope, also pass the exact profile name. Creation must not overwrite an existing skill. If the name already exists, explain the collision and ask whether the user wants to choose another name or update it separately. Never use shell_exec or write_file to bypass validation. After success, report the scope and invocation. Users may still create ordinary skills directly through filesystem operations when they explicitly choose to do so.`,
74
+ },
75
+ {
76
+ name: 'skillapp-builder',
77
+ description: 'Design, validate, and install a focused Marifold SkillApp from a rough idea.',
78
+ mode: 'agent',
79
+ scope: 'builtin',
80
+ variables: [
81
+ {
82
+ name: 'request',
83
+ description: 'The App idea, desired name, workflow, profile or Skill preferences, and optional update intent.',
84
+ required: false,
85
+ default: 'Help me design and create a useful SkillApp.',
86
+ },
87
+ ],
88
+ prompt: `You are Marifold's protected built-in SkillApp designer and builder.
89
+
90
+ The user's request is:
91
+
92
+ {{request}}
93
+
94
+ Begin by calling inspect_skill_apps. Treat its component signatures, canonical v1/v2 templates, bundle rules, profile catalog, effective Skill catalog, existing App names, and active profile as authoritative. Start from the matching canonical template and adapt it; do not probe App directories or arbitrary host paths for examples.
95
+
96
+ Help users who have only a rough idea. Infer obvious details and propose a focused interaction, sensible fields, result presentation, and responsive layout. If essential product decisions remain and different answers would materially change the App, use ask_user to batch up to three concise questions. Questions may be single- or multi-select and may be used again later only when a newly discovered decision genuinely blocks progress. Do not force users to supply layout terminology.
97
+
98
+ Generate the smallest clear static SkillApp bundle that implements the agreed design. Use only the builders and options reported by inspect_skill_apps. Keep skillapp.ts declarative: no functions, callbacks, conditions, loops, arbitrary imports, HTML, CSS, filesystem access, or network access.
99
+
100
+ Use Markdown for text results the user should read as rendered Markdown. When the user requests a downloadable text result, add Download bound to the same output State, choose a stable safe filename, and set a matching text mediaType such as text/markdown;charset=utf-8. Each Download component represents one renderer-created text file; several declared Download components produce several static file cards. The filename is fixed by skillapp.ts rather than chosen per run. Do not claim that Download can produce binary files such as PDF, DOCX, ZIP, or PNG, or a dynamic collection of files. If the requested result requires those unsupported artifact outputs, explain the limit instead of disguising them as text. Do not ask the Skill to write a file or fabricate a download link in its response.
101
+
102
+ Prefer v2 when an existing profile already owns the needed Skill. Register that profile by its stable name and reference the effective Skill without copying its instructions. Use v1 only for a genuinely App-local chat Skill with an explicitly registered model. Default profile memory and App-instance history to false unless the workflow clearly needs read-only memory or conversational continuity.
103
+
104
+ Set interactive: true only on a fixed profile Agent Skill that may ask questions or request approval. Interactive operations are button-triggered and must not use automatic triggers. In particular, a SkillApp that makes SkillApps should register the active profile, invoke the built-in skillapp-builder Skill with interactive: true, accept a large idea field and optional reference attachments, and render its final explanation in a read-only copyable result.
105
+
106
+ Use a valid kebab-case bundle/app name and keep app.name identical to the bundle name. Before installation, ensure every required file is complete. Call manage_skill_app with action create for a new App. Use update only when the user explicitly asked to replace an existing App; never turn a name collision into an implicit update. The tool stages, statically compiles, validates, and atomically installs the bundle after approval. If validation fails, correct the exact reported error without exploring the filesystem; after two corrected attempts fail, stop and report the last validation error rather than repeatedly submitting variants. Never use read_file to discover App examples, or write_file or shell_exec to install or modify Apps.
107
+
108
+ After success, report the installed App name and that it is available without restarting the service. Do not claim completion unless manage_skill_app succeeded.`,
72
109
  },
73
110
  ];
74
111
  const BY_NAME = new Map(BUILT_IN_SKILLS.map(skill => [skill.name, skill]));
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInSkills.js","sourceRoot":"","sources":["../../src/skill/BuiltInSkills.ts"],"names":[],"mappings":";;;;;AAEA,MAAM,eAAe,GAA6B;IAChD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0EAA0E;QACvF,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,6CAA6C;gBAC1D,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,MAAM;aAChB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,sEAAsE;gBACnF,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,MAAM,EAAE;;;;;;;;;;;;;;;;;mWAiBuV;KAChW;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6EAA6E;QAC1F,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,8EAA8E;gBAC3F,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,wCAAwC;aAClD;SACF;QACD,MAAM,EAAE;;;;;;;;;;;;;;ohBAcwgB;KACjhB;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3E,+FAA+F;AAC/F;IACE,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnC,GAAG,KAAK;QACR,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;KAC9D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,yBAAgC,IAAY;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,4BAAmC,IAAY;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"BuiltInSkills.js","sourceRoot":"","sources":["../../src/skill/BuiltInSkills.ts"],"names":[],"mappings":";;;;;AAEA,MAAM,eAAe,GAA6B;IAChD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0EAA0E;QACvF,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,6CAA6C;gBAC1D,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,MAAM;aAChB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,0EAA0E;gBACvF,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,MAAM,EAAE;;;;;;;;;;;;;;;;;mWAiBuV;KAChW;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6EAA6E;QAC1F,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kFAAkF;gBAC/F,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,wCAAwC;aAClD;SACF;QACD,MAAM,EAAE;;;;;;;;;;;;;;;;ykBAgB6jB;KACtkB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,8EAA8E;QAC3F,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iGAAiG;gBAC9G,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,8CAA8C;aACxD;SACF;QACD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;iKAoBqJ;KAC9J;CACF,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3E,+FAA+F;AAC/F;IACE,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnC,GAAG,KAAK;QACR,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;KAC9D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,yBAAgC,IAAY;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,4BAAmC,IAAY;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { SKILL_SCHEMA_ID, extractTemplateVariables, } from './SkillSchema';
2
2
  export type { MarifoldSkill, SkillMode, SkillVariable } from './SkillSchema';
3
3
  export { getBuiltInSkill, isBuiltInSkillName, listBuiltInSkills } from './BuiltInSkills';
4
+ export { buildSkillAppBuilderGuide, mentionsSkillApps } from './BuiltInSkillAppBuilder';
4
5
  export { parseSkill, validateSkill } from './SkillValidator';
5
6
  export { renderSkillPrompt, resolveSkillValues } from './SkillTemplater';
6
7
  export type { SkillRenderResult } from './SkillTemplater';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,UAAU,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,UAAU,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SkillStore = exports.tokenizeSkillArgs = exports.skillUsage = exports.resolveSkillValuesInvocation = exports.resolveSkillInvocation = exports.parseSkillInvocation = exports.bindSkillArgs = exports.resolveSkillValues = exports.renderSkillPrompt = exports.validateSkill = exports.parseSkill = exports.listBuiltInSkills = exports.isBuiltInSkillName = exports.getBuiltInSkill = exports.extractTemplateVariables = exports.SKILL_SCHEMA_ID = void 0;
3
+ exports.SkillStore = exports.tokenizeSkillArgs = exports.skillUsage = exports.resolveSkillValuesInvocation = exports.resolveSkillInvocation = exports.parseSkillInvocation = exports.bindSkillArgs = exports.resolveSkillValues = exports.renderSkillPrompt = exports.validateSkill = exports.parseSkill = exports.mentionsSkillApps = exports.buildSkillAppBuilderGuide = exports.listBuiltInSkills = exports.isBuiltInSkillName = exports.getBuiltInSkill = exports.extractTemplateVariables = exports.SKILL_SCHEMA_ID = void 0;
4
4
  var SkillSchema_1 = require("./SkillSchema");
5
5
  Object.defineProperty(exports, "SKILL_SCHEMA_ID", { enumerable: true, get: function () { return SkillSchema_1.SKILL_SCHEMA_ID; } });
6
6
  Object.defineProperty(exports, "extractTemplateVariables", { enumerable: true, get: function () { return SkillSchema_1.extractTemplateVariables; } });
@@ -8,6 +8,9 @@ var BuiltInSkills_1 = require("./BuiltInSkills");
8
8
  Object.defineProperty(exports, "getBuiltInSkill", { enumerable: true, get: function () { return BuiltInSkills_1.getBuiltInSkill; } });
9
9
  Object.defineProperty(exports, "isBuiltInSkillName", { enumerable: true, get: function () { return BuiltInSkills_1.isBuiltInSkillName; } });
10
10
  Object.defineProperty(exports, "listBuiltInSkills", { enumerable: true, get: function () { return BuiltInSkills_1.listBuiltInSkills; } });
11
+ var BuiltInSkillAppBuilder_1 = require("./BuiltInSkillAppBuilder");
12
+ Object.defineProperty(exports, "buildSkillAppBuilderGuide", { enumerable: true, get: function () { return BuiltInSkillAppBuilder_1.buildSkillAppBuilderGuide; } });
13
+ Object.defineProperty(exports, "mentionsSkillApps", { enumerable: true, get: function () { return BuiltInSkillAppBuilder_1.mentionsSkillApps; } });
11
14
  var SkillValidator_1 = require("./SkillValidator");
12
15
  Object.defineProperty(exports, "parseSkill", { enumerable: true, get: function () { return SkillValidator_1.parseSkill; } });
13
16
  Object.defineProperty(exports, "validateSkill", { enumerable: true, get: function () { return SkillValidator_1.validateSkill; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":";;;AAAA,6CAGuB;AAFrB,8GAAA,eAAe,OAAA;AACf,uHAAA,wBAAwB,OAAA;AAG1B,iDAAyF;AAAhF,gHAAA,eAAe,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAC/D,mDAA6D;AAApD,4GAAA,UAAU,OAAA;AAAE,+GAAA,aAAa,OAAA;AAClC,mDAAyE;AAAhE,mHAAA,iBAAiB,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAE9C,qDAO2B;AANzB,gHAAA,aAAa,OAAA;AACb,uHAAA,oBAAoB,OAAA;AACpB,yHAAA,sBAAsB,OAAA;AACtB,+HAAA,4BAA4B,OAAA;AAC5B,6GAAA,UAAU,OAAA;AACV,oHAAA,iBAAiB,OAAA;AAGnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skill/index.ts"],"names":[],"mappings":";;;AAAA,6CAGuB;AAFrB,8GAAA,eAAe,OAAA;AACf,uHAAA,wBAAwB,OAAA;AAG1B,iDAAyF;AAAhF,gHAAA,eAAe,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAC/D,mEAAwF;AAA/E,mIAAA,yBAAyB,OAAA;AAAE,2HAAA,iBAAiB,OAAA;AACrD,mDAA6D;AAApD,4GAAA,UAAU,OAAA;AAAE,+GAAA,aAAa,OAAA;AAClC,mDAAyE;AAAhE,mHAAA,iBAAiB,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAE9C,qDAO2B;AANzB,gHAAA,aAAa,OAAA;AACb,uHAAA,oBAAoB,OAAA;AACpB,yHAAA,sBAAsB,OAAA;AACtB,+HAAA,4BAA4B,OAAA;AAC5B,6GAAA,UAAU,OAAA;AACV,oHAAA,iBAAiB,OAAA;AAGnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceInitializer.d.ts","sourceRoot":"","sources":["../../src/workspace/WorkspaceInitializer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA8BtD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,qBAAa,oBAAoB;IAC/B,UAAU,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAqElE;CACF"}
1
+ {"version":3,"file":"WorkspaceInitializer.d.ts","sourceRoot":"","sources":["../../src/workspace/WorkspaceInitializer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAqBtD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,qBAAa,oBAAoB;IAC/B,UAAU,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CA0ElE;CACF"}
@@ -39,18 +39,9 @@ const path = __importStar(require("path"));
39
39
  const MarifoldError_1 = require("../errors/MarifoldError");
40
40
  const MemoryStore_1 = require("../memory/MemoryStore");
41
41
  const ProfileManager_1 = require("../profiles/ProfileManager");
42
+ const ProfileInstructions_1 = require("../profiles/ProfileInstructions");
42
43
  const WorkspacePaths_1 = require("./WorkspacePaths");
43
44
  const SAFE_PROFILE_NAME = /^[A-Za-z0-9_-]+$/;
44
- const DEFAULT_PROFILE = `# PROFILE.md
45
-
46
- You are Marifold, a local-first personal AI workspace assistant.
47
- `;
48
- const DEFAULT_RULES = `# RULES.md
49
-
50
- Answer clearly and practically.
51
- Do not claim unsupported capabilities.
52
- `;
53
- const DEFAULT_CUSTOM = '';
54
45
  class WorkspaceInitializer {
55
46
  initialize(options = {}) {
56
47
  const configPath = (0, WorkspacePaths_1.resolveUserPath)(options.configPath ?? (0, WorkspacePaths_1.defaultConfigPath)());
@@ -96,9 +87,15 @@ class WorkspaceInitializer {
96
87
  files.push({ path: configPath, status: configStatus });
97
88
  const profileDir = path.join(profilesDir, profile);
98
89
  fs.mkdirSync(profileDir, { recursive: true });
99
- files.push(writeIfMissing(path.join(profileDir, 'PROFILE.md'), DEFAULT_PROFILE));
100
- files.push(writeIfMissing(path.join(profileDir, 'RULES.md'), DEFAULT_RULES));
101
- files.push(writeIfMissing(path.join(profileDir, 'CUSTOM.md'), DEFAULT_CUSTOM));
90
+ const existingInstructions = (0, ProfileInstructions_1.resolveDirectoryProfileInstructions)(profileDir);
91
+ if (existingInstructions.format === 'legacy') {
92
+ for (const fileName of existingInstructions.legacyFiles) {
93
+ files.push({ path: path.join(profileDir, fileName), status: 'kept' });
94
+ }
95
+ }
96
+ else {
97
+ files.push(writeIfMissing(path.join(profileDir, ProfileInstructions_1.PROFILE_INSTRUCTIONS_FILE), ProfileInstructions_1.DEFAULT_MARIFOLD_PROFILE_INSTRUCTIONS));
98
+ }
102
99
  files.push(writeIfMissing(path.join(profileDir, 'profile.toml'), ProfileManager_1.PROFILE_TOML_STUB));
103
100
  files.push(...(0, MemoryStore_1.ensureProfileMemoryFiles)(profileDir));
104
101
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceInitializer.js","sourceRoot":"","sources":["../../src/workspace/WorkspaceInitializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceInitializer.js","sourceRoot":"","sources":["../../src/workspace/WorkspaceInitializer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marifold/core",
3
- "version": "0.66.0",
3
+ "version": "0.69.0",
4
4
  "description": "Core runtime for Marifold",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",