faceted-prompting 0.3.1 → 0.5.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 (110) hide show
  1. package/README.md +39 -12
  2. package/dist/cli/compose-command.d.ts +2 -2
  3. package/dist/cli/compose-command.d.ts.map +1 -1
  4. package/dist/cli/compose-command.js +16 -145
  5. package/dist/cli/compose-command.js.map +1 -1
  6. package/dist/cli/compose-definition-resolution.d.ts +12 -0
  7. package/dist/cli/compose-definition-resolution.d.ts.map +1 -0
  8. package/dist/cli/compose-definition-resolution.js +50 -0
  9. package/dist/cli/compose-definition-resolution.js.map +1 -0
  10. package/dist/cli/compose-execution.d.ts +19 -0
  11. package/dist/cli/compose-execution.d.ts.map +1 -0
  12. package/dist/cli/compose-execution.js +167 -0
  13. package/dist/cli/compose-execution.js.map +1 -0
  14. package/dist/cli/compose-options.d.ts +4 -0
  15. package/dist/cli/compose-options.d.ts.map +1 -0
  16. package/dist/cli/compose-options.js +64 -0
  17. package/dist/cli/compose-options.js.map +1 -0
  18. package/dist/cli/index.d.ts.map +1 -1
  19. package/dist/cli/index.js +2 -1
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/cli/install-skill/facet-token-renderer.d.ts +1 -1
  22. package/dist/cli/install-skill/facet-token-renderer.d.ts.map +1 -1
  23. package/dist/cli/install-skill/facet-token-renderer.js +2 -2
  24. package/dist/cli/install-skill/facet-token-renderer.js.map +1 -1
  25. package/dist/cli/install-skill/facets.d.ts +2 -0
  26. package/dist/cli/install-skill/facets.d.ts.map +1 -1
  27. package/dist/cli/install-skill/facets.js +43 -4
  28. package/dist/cli/install-skill/facets.js.map +1 -1
  29. package/dist/cli/install-skill/flow.d.ts +2 -1
  30. package/dist/cli/install-skill/flow.d.ts.map +1 -1
  31. package/dist/cli/install-skill/flow.js +7 -2
  32. package/dist/cli/install-skill/flow.js.map +1 -1
  33. package/dist/cli/install-skill/instruction-partial-copy.d.ts +6 -0
  34. package/dist/cli/install-skill/instruction-partial-copy.d.ts.map +1 -0
  35. package/dist/cli/install-skill/instruction-partial-copy.js +32 -0
  36. package/dist/cli/install-skill/instruction-partial-copy.js.map +1 -0
  37. package/dist/cli/install-skill/modes.d.ts +3 -1
  38. package/dist/cli/install-skill/modes.d.ts.map +1 -1
  39. package/dist/cli/install-skill/modes.js +16 -14
  40. package/dist/cli/install-skill/modes.js.map +1 -1
  41. package/dist/cli/install-skill/targets.d.ts +4 -3
  42. package/dist/cli/install-skill/targets.d.ts.map +1 -1
  43. package/dist/cli/install-skill/targets.js +18 -4
  44. package/dist/cli/install-skill/targets.js.map +1 -1
  45. package/dist/cli/instruction-includes.d.ts +11 -0
  46. package/dist/cli/instruction-includes.d.ts.map +1 -0
  47. package/dist/cli/instruction-includes.js +130 -0
  48. package/dist/cli/instruction-includes.js.map +1 -0
  49. package/dist/cli/path-guard.d.ts +5 -0
  50. package/dist/cli/path-guard.d.ts.map +1 -1
  51. package/dist/cli/path-guard.js +25 -0
  52. package/dist/cli/path-guard.js.map +1 -1
  53. package/dist/cli/skill-commands.d.ts +8 -0
  54. package/dist/cli/skill-commands.d.ts.map +1 -1
  55. package/dist/cli/skill-commands.js +23 -6
  56. package/dist/cli/skill-commands.js.map +1 -1
  57. package/dist/cli/skill-document-renderer.d.ts +6 -0
  58. package/dist/cli/skill-document-renderer.d.ts.map +1 -0
  59. package/dist/cli/skill-document-renderer.js +73 -0
  60. package/dist/cli/skill-document-renderer.js.map +1 -0
  61. package/dist/cli/skill-file-ops.d.ts +1 -2
  62. package/dist/cli/skill-file-ops.d.ts.map +1 -1
  63. package/dist/cli/skill-file-ops.js +12 -38
  64. package/dist/cli/skill-file-ops.js.map +1 -1
  65. package/dist/cli/skill-renderer.d.ts +5 -3
  66. package/dist/cli/skill-renderer.d.ts.map +1 -1
  67. package/dist/cli/skill-renderer.js +98 -75
  68. package/dist/cli/skill-renderer.js.map +1 -1
  69. package/dist/cli/skill-types.d.ts +6 -2
  70. package/dist/cli/skill-types.d.ts.map +1 -1
  71. package/dist/cli/types.d.ts +6 -0
  72. package/dist/cli/types.d.ts.map +1 -1
  73. package/dist/compose-definition.d.ts.map +1 -1
  74. package/dist/compose-definition.js +4 -1
  75. package/dist/compose-definition.js.map +1 -1
  76. package/dist/compose.d.ts +3 -2
  77. package/dist/compose.d.ts.map +1 -1
  78. package/dist/compose.js +30 -33
  79. package/dist/compose.js.map +1 -1
  80. package/dist/config/index.d.ts +12 -0
  81. package/dist/config/index.d.ts.map +1 -1
  82. package/dist/config/index.js +44 -2
  83. package/dist/config/index.js.map +1 -1
  84. package/dist/config/install-targets.d.ts +6 -0
  85. package/dist/config/install-targets.d.ts.map +1 -0
  86. package/dist/config/install-targets.js +71 -0
  87. package/dist/config/install-targets.js.map +1 -0
  88. package/dist/index.d.ts +1 -1
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/init/index.d.ts.map +1 -1
  92. package/dist/init/index.js +9 -1
  93. package/dist/init/index.js.map +1 -1
  94. package/dist/install-targets.d.ts +2 -0
  95. package/dist/install-targets.d.ts.map +1 -0
  96. package/dist/install-targets.js +2 -0
  97. package/dist/install-targets.js.map +1 -0
  98. package/dist/instruction-partial-paths.d.ts +3 -0
  99. package/dist/instruction-partial-paths.d.ts.map +1 -0
  100. package/dist/instruction-partial-paths.js +6 -0
  101. package/dist/instruction-partial-paths.js.map +1 -0
  102. package/dist/prompt-payload.d.ts +1 -0
  103. package/dist/prompt-payload.d.ts.map +1 -1
  104. package/dist/prompt-payload.js +26 -8
  105. package/dist/prompt-payload.js.map +1 -1
  106. package/dist/types.d.ts +9 -4
  107. package/dist/types.d.ts.map +1 -1
  108. package/dist/types.js +7 -2
  109. package/dist/types.js.map +1 -1
  110. package/package.json +3 -3
@@ -2,6 +2,7 @@ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { tracedConfig } from 'traced-config';
4
4
  import { parse } from 'yaml';
5
+ import { getBuiltInInstallRootTemplates, readInstallRootTemplatesFromConfigValue, } from './install-targets.js';
5
6
  const DEFAULT_CONFIG = ['version: 1', 'skillPaths: []'].join('\n');
6
7
  export function getFacetedRoot(homeDir) {
7
8
  return join(homeDir, '.faceted');
@@ -31,11 +32,35 @@ function hasErrorCode(error) {
31
32
  const withCode = error;
32
33
  return typeof withCode.code === 'string';
33
34
  }
35
+ function readCodexInstallRoots(configRoot) {
36
+ return readInstallRootTemplatesFromConfigValue('codex', configRoot);
37
+ }
38
+ export function createDefaultFacetedConfig() {
39
+ return {
40
+ version: 1,
41
+ skillPaths: [],
42
+ install: {
43
+ targets: {
44
+ codex: {
45
+ roots: getBuiltInInstallRootTemplates('codex'),
46
+ },
47
+ },
48
+ },
49
+ };
50
+ }
51
+ export async function readFacetedConfigOrDefault(homeDir) {
52
+ const configPath = getConfigPath(homeDir);
53
+ if (!existsSync(configPath)) {
54
+ return createDefaultFacetedConfig();
55
+ }
56
+ return readFacetedConfig(homeDir);
57
+ }
34
58
  export async function readFacetedConfig(homeDir) {
35
59
  const configPath = getConfigPath(homeDir);
36
60
  if (!existsSync(configPath)) {
37
61
  throw new Error(`Missing faceted config: ${configPath}`);
38
62
  }
63
+ let parsedConfigRoot;
39
64
  const resolver = tracedConfig({
40
65
  schema: {
41
66
  version: {
@@ -55,8 +80,14 @@ export async function readFacetedConfig(homeDir) {
55
80
  resolver.addFormat('string-list', value => {
56
81
  return Array.isArray(value) && value.every(item => typeof item === 'string');
57
82
  });
58
- resolver.addParser('yaml', parseConfigRootAsObject);
59
- resolver.addParser('yml', parseConfigRootAsObject);
83
+ resolver.addParser('yaml', content => {
84
+ parsedConfigRoot = parseConfigRootAsObject(content);
85
+ return parsedConfigRoot;
86
+ });
87
+ resolver.addParser('yml', content => {
88
+ parsedConfigRoot = parseConfigRootAsObject(content);
89
+ return parsedConfigRoot;
90
+ });
60
91
  try {
61
92
  await resolver.loadFile([{ path: configPath, label: 'local' }]);
62
93
  }
@@ -74,9 +105,20 @@ export async function readFacetedConfig(homeDir) {
74
105
  }
75
106
  throw new Error('Invalid faceted config field');
76
107
  }
108
+ if (!parsedConfigRoot) {
109
+ throw new Error(`Invalid faceted config file: ${configPath}`);
110
+ }
111
+ const codexRoots = readCodexInstallRoots(parsedConfigRoot);
77
112
  return {
78
113
  version: resolver.get('version'),
79
114
  skillPaths: resolver.get('skillPaths'),
115
+ install: {
116
+ targets: {
117
+ codex: {
118
+ roots: codexRoots,
119
+ },
120
+ },
121
+ },
80
122
  };
81
123
  }
82
124
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAsB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,GACxC,MAAM,sBAAsB,CAAC;AAoB9B,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEnE,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,UAAU,EAAE,GAAG,cAAc,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,KAA2B,CAAC;IAC7C,OAAO,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC3C,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAmC;IAChE,OAAO,uCAAuC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,EAAE;QACd,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC;iBAC/C;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAAe;IAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,0BAA0B,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAqD,CAAC;IAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC5B,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE,uBAAuB;gBAC5B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;aAChE;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,EAAc;gBACvB,GAAG,EAAE,iBAAiB;gBACtB,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;aAChE;SACF;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QACnC,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;QAClC,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,gBAAgB,GAAoB,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC9D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC9C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,KAAK,EAAE,UAAU;iBAClB;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { InstallTarget } from '../install-targets.js';
2
+ export declare function getBuiltInInstallRootTemplates(target: InstallTarget): readonly string[];
3
+ export declare function hasNonEmptyInstallRootTemplate(root: string): boolean;
4
+ export declare function readInstallRootTemplatesFromConfigValue(target: InstallTarget, configValue: unknown): readonly string[];
5
+ export declare function resolveInstallRootTemplates(homeDir: string, rootTemplates: readonly string[]): readonly string[];
6
+ //# sourceMappingURL=install-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-targets.d.ts","sourceRoot":"","sources":["../../src/config/install-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEvF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpE;AAwCD,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,OAAO,GACnB,SAAS,MAAM,EAAE,CAiCnB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,SAAS,MAAM,EAAE,CAKnB"}
@@ -0,0 +1,71 @@
1
+ import { resolve } from 'node:path';
2
+ const BUILTIN_INSTALL_ROOT_TEMPLATES = {
3
+ cc: ['{homeDir}/.claude/skills'],
4
+ codex: ['{homeDir}/.agents/skills'],
5
+ };
6
+ export function getBuiltInInstallRootTemplates(target) {
7
+ return [...BUILTIN_INSTALL_ROOT_TEMPLATES[target]];
8
+ }
9
+ export function hasNonEmptyInstallRootTemplate(root) {
10
+ return root.trim().length > 0;
11
+ }
12
+ function invalidInstallRootField(target) {
13
+ throw new Error(`Invalid faceted config field: install.targets.${target}.roots`);
14
+ }
15
+ function isRecord(value) {
16
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
17
+ }
18
+ function validateInstallRootTemplates(target, rootTemplates) {
19
+ if (!Array.isArray(rootTemplates)
20
+ || rootTemplates.length === 0
21
+ || rootTemplates.some(root => typeof root !== 'string' || !hasNonEmptyInstallRootTemplate(root))) {
22
+ invalidInstallRootField(target);
23
+ }
24
+ return [...rootTemplates];
25
+ }
26
+ function readNestedConfigValue(parent, key, target) {
27
+ const value = parent[key];
28
+ if (value === undefined) {
29
+ return undefined;
30
+ }
31
+ if (!isRecord(value)) {
32
+ invalidInstallRootField(target);
33
+ }
34
+ return value;
35
+ }
36
+ export function readInstallRootTemplatesFromConfigValue(target, configValue) {
37
+ const defaultRootTemplates = getBuiltInInstallRootTemplates(target);
38
+ if (target !== 'codex') {
39
+ return defaultRootTemplates;
40
+ }
41
+ if (configValue === undefined) {
42
+ return defaultRootTemplates;
43
+ }
44
+ if (!isRecord(configValue)) {
45
+ invalidInstallRootField(target);
46
+ }
47
+ const installValue = readNestedConfigValue(configValue, 'install', target);
48
+ if (!installValue) {
49
+ return defaultRootTemplates;
50
+ }
51
+ const targetsValue = readNestedConfigValue(installValue, 'targets', target);
52
+ if (!targetsValue) {
53
+ return defaultRootTemplates;
54
+ }
55
+ const targetValue = readNestedConfigValue(targetsValue, target, target);
56
+ if (!targetValue) {
57
+ return defaultRootTemplates;
58
+ }
59
+ const rootsValue = targetValue.roots;
60
+ if (rootsValue === undefined) {
61
+ return defaultRootTemplates;
62
+ }
63
+ return validateInstallRootTemplates(target, rootsValue);
64
+ }
65
+ export function resolveInstallRootTemplates(homeDir, rootTemplates) {
66
+ if (rootTemplates.some(root => !hasNonEmptyInstallRootTemplate(root))) {
67
+ throw new Error('Install root template must not be empty');
68
+ }
69
+ return rootTemplates.map(root => resolve(root.replaceAll('{homeDir}', homeDir)));
70
+ }
71
+ //# sourceMappingURL=install-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-targets.js","sourceRoot":"","sources":["../../src/config/install-targets.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Re-exports all public types, interfaces, and functions.
5
5
  * Consumers should import from this module only.
6
6
  */
7
- export type { FacetKind, FacetContent, FacetSet, ComposedPrompt, ComposedPromptPayload, ComposeOptions, CopyFiles, } from './types.js';
7
+ export type { FacetKind, FacetContent, FacetSet, ComposedPrompt, ComposedPromptPayload, ComposeDefinition, ComposeOptions, ComposeOrderEntry, CopyFiles, } from './types.js';
8
8
  export { compose } from './compose.js';
9
9
  export { composePromptPayload } from './prompt-payload.js';
10
10
  export type { DataEngine } from './data-engine.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAyJA,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAuB/D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMnE;AA4CD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpF;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhH;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9H"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"AAiKA,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAuB/D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMnE;AA4CD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpF;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhH;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9H"}
@@ -1,7 +1,15 @@
1
1
  import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, join } from 'node:path';
3
3
  import { ensureConfigFile, getFacetedRoot } from '../config/index.js';
4
- const REQUIRED_FACET_DIRS = ['persona', 'knowledge', 'policies', 'instructions', 'output-contracts'];
4
+ import { INSTRUCTION_PARTIALS_FACET_DIR } from '../instruction-partial-paths.js';
5
+ const REQUIRED_FACET_DIRS = [
6
+ 'persona',
7
+ 'knowledge',
8
+ 'policies',
9
+ 'instructions',
10
+ INSTRUCTION_PARTIALS_FACET_DIR,
11
+ 'output-contracts',
12
+ ];
5
13
  const TAKT_BOOTSTRAP_BASE_URL = 'https://raw.githubusercontent.com/nrslib/takt/main/builtins/ja/facets';
6
14
  function makeComposition(name, description, knowledge) {
7
15
  const lines = [
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type InstallTarget = 'cc' | 'codex';
2
+ //# sourceMappingURL=install-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-targets.d.ts","sourceRoot":"","sources":["../src/install-targets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=install-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-targets.js","sourceRoot":"","sources":["../src/install-targets.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare const INSTRUCTION_PARTIALS_FACET_DIR = "partials/instructions";
2
+ export declare function instructionPartialsDir(facetsRoot: string): string;
3
+ //# sourceMappingURL=instruction-partial-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction-partial-paths.d.ts","sourceRoot":"","sources":["../src/instruction-partial-paths.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AAEtE,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE"}
@@ -0,0 +1,6 @@
1
+ import { join } from 'node:path';
2
+ export const INSTRUCTION_PARTIALS_FACET_DIR = 'partials/instructions';
3
+ export function instructionPartialsDir(facetsRoot) {
4
+ return join(facetsRoot, INSTRUCTION_PARTIALS_FACET_DIR);
5
+ }
6
+ //# sourceMappingURL=instruction-partial-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction-partial-paths.js","sourceRoot":"","sources":["../src/instruction-partial-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AAEtE,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,OAAO,IAAI,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;AAC1D,CAAC"}
@@ -4,6 +4,7 @@ export declare function composePromptPayload(params: {
4
4
  definitionDir: string;
5
5
  facetsRoot?: string;
6
6
  facetsRoots?: readonly string[];
7
+ facetedRoots?: readonly string[];
7
8
  composeOptions: ComposeOptions;
8
9
  }): ComposedPromptPayload;
9
10
  //# sourceMappingURL=prompt-payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-payload.d.ts","sourceRoot":"","sources":["../src/prompt-payload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AAqBtG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,qBAAqB,CAYxB"}
1
+ {"version":3,"file":"prompt-payload.d.ts","sourceRoot":"","sources":["../src/prompt-payload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AA2CtG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,qBAAqB,CAaxB"}
@@ -1,18 +1,36 @@
1
1
  import { compose } from './compose.js';
2
- import { buildFacetSet, resolveDefinitionSections } from './cli/skill-renderer.js';
3
- function buildCopyFiles(params) {
4
- const resolved = resolveDefinitionSections(params);
2
+ import { buildFacetSetFromResolvedSections, resolveDefinitionSections } from './cli/skill-renderer.js';
3
+ function instructionFacetPath(instruction) {
4
+ if ('path' in instruction) {
5
+ return instruction.path;
6
+ }
7
+ return undefined;
8
+ }
9
+ function instructionPartialSourcePaths(instruction) {
10
+ if (!('sourcePaths' in instruction)) {
11
+ return [];
12
+ }
13
+ return instruction.sourcePaths.filter(path => path !== instruction.path);
14
+ }
15
+ function dedupePaths(paths) {
16
+ return paths.reduce((deduped, path) => deduped.includes(path) ? deduped : [...deduped, path], []);
17
+ }
18
+ function buildCopyFiles(resolved) {
19
+ const instructionPartials = dedupePaths(resolved.instructions.flatMap(instruction => instructionPartialSourcePaths(instruction)));
5
20
  return {
6
21
  persona: [resolved.persona.path],
7
22
  knowledge: resolved.knowledge.map(section => section.path),
8
23
  policies: resolved.policies.map(section => section.path),
9
- instructions: resolved.instructions
10
- .filter((instruction) => 'path' in instruction)
11
- .map(instruction => instruction.path),
24
+ instructions: dedupePaths(resolved.instructions
25
+ .map(instruction => instructionFacetPath(instruction))
26
+ .filter(path => path !== undefined)),
27
+ outputContracts: resolved.outputContracts.map(section => section.path),
28
+ ...(instructionPartials.length > 0 ? { instructionPartials } : {}),
12
29
  };
13
30
  }
14
31
  export function composePromptPayload(params) {
15
- const facetSet = buildFacetSet(params);
32
+ const resolved = resolveDefinitionSections(params);
33
+ const facetSet = buildFacetSetFromResolvedSections(resolved);
16
34
  const composed = compose(facetSet, {
17
35
  ...params.composeOptions,
18
36
  userMessageOrder: params.definition.order,
@@ -20,7 +38,7 @@ export function composePromptPayload(params) {
20
38
  return {
21
39
  systemPrompt: composed.systemPrompt,
22
40
  userPrompt: composed.userMessage,
23
- copyFiles: buildCopyFiles(params),
41
+ copyFiles: buildCopyFiles(resolved),
24
42
  };
25
43
  }
26
44
  //# sourceMappingURL=prompt-payload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-payload.js","sourceRoot":"","sources":["../src/prompt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,SAAS,cAAc,CAAC,MAKvB;IACC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAEnD,OAAO;QACL,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1D,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACxD,YAAY,EAAE,QAAQ,CAAC,YAAY;aAChC,MAAM,CAAC,CAAC,WAAW,EAA8D,EAAE,CAAC,MAAM,IAAI,WAAW,CAAC;aAC1G,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAMpC;IACC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE;QACjC,GAAG,MAAM,CAAC,cAAc;QACxB,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;KAC1C,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,UAAU,EAAE,QAAQ,CAAC,WAAW;QAChC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompt-payload.js","sourceRoot":"","sources":["../src/prompt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAGvG,SAAS,oBAAoB,CAAC,WAA+B;IAC3D,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,6BAA6B,CAAC,WAA+B;IACpE,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,KAAwB;IAC3C,OAAO,KAAK,CAAC,MAAM,CAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,EACvD,EAAE,CAAC,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,QAAoC;IAC1D,MAAM,mBAAmB,GAAG,WAAW,CACrC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CACzF,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1D,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACxD,YAAY,EAAE,WAAW,CACvB,QAAQ,CAAC,YAAY;aAClB,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;aACrD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CACtC;QACD,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACtE,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAOpC;IACC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE;QACjC,GAAG,MAAM,CAAC,cAAc;QACxB,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;KAC1C,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,UAAU,EAAE,QAAQ,CAAC,WAAW;QAChC,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Core type definitions for Faceted Prompting.
3
3
  *
4
4
  * Defines the vocabulary of facets (persona, policy, knowledge, instruction,
5
- * output-contract) and the structures used by compose() and DataEngine.
5
+ * output-contracts) and the structures used by compose() and DataEngine.
6
6
  *
7
7
  * This module has ZERO dependencies on TAKT internals.
8
8
  */
@@ -25,12 +25,13 @@ export interface FacetSet {
25
25
  readonly policies?: readonly FacetContent[];
26
26
  readonly knowledge?: readonly FacetContent[];
27
27
  readonly instructions?: readonly FacetContent[];
28
+ readonly outputContracts?: readonly FacetContent[];
28
29
  }
29
30
  /**
30
31
  * The output of compose(): facet content assigned to LLM message slots.
31
32
  *
32
33
  * persona → systemPrompt
33
- * policy + knowledge + instruction → userMessage
34
+ * knowledge + instructions + output-contracts + policies → userMessage
34
35
  */
35
36
  export interface ComposedPrompt {
36
37
  readonly systemPrompt: string;
@@ -41,6 +42,8 @@ export interface CopyFiles {
41
42
  readonly knowledge: readonly string[];
42
43
  readonly policies: readonly string[];
43
44
  readonly instructions: readonly string[];
45
+ readonly outputContracts: readonly string[];
46
+ readonly instructionPartials?: readonly string[];
44
47
  }
45
48
  export interface ComposedPromptPayload {
46
49
  readonly systemPrompt: string;
@@ -48,7 +51,8 @@ export interface ComposedPromptPayload {
48
51
  readonly copyFiles: CopyFiles;
49
52
  }
50
53
  /** User-message sections that can be ordered in compose definitions. */
51
- export type ComposeOrderEntry = 'policies' | 'knowledge' | 'instructions';
54
+ export type ComposeOrderEntry = 'policies' | 'knowledge' | 'instructions' | 'output-contracts';
55
+ export declare const DEFAULT_USER_MESSAGE_ORDER: readonly ComposeOrderEntry[];
52
56
  /** CLI compose definition loaded from YAML. */
53
57
  export interface ComposeDefinition {
54
58
  readonly name: string;
@@ -58,13 +62,14 @@ export interface ComposeDefinition {
58
62
  readonly knowledge?: readonly string[];
59
63
  readonly policies?: readonly string[];
60
64
  readonly instructions?: readonly string[];
65
+ readonly outputContracts?: readonly string[];
61
66
  readonly order?: readonly ComposeOrderEntry[];
62
67
  }
63
68
  /** Options controlling compose() behaviour. */
64
69
  export interface ComposeOptions {
65
70
  /** Maximum character length for knowledge/policy content before truncation. */
66
71
  readonly contextMaxChars: number;
67
- /** Optional user-message section order for policies/knowledge/instruction. */
72
+ /** Optional user-message section order for knowledge/instructions/output-contracts/policies. */
68
73
  readonly userMessageOrder?: readonly ComposeOrderEntry[];
69
74
  }
70
75
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,uDAAuD;AACvD,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,UAAU,GACV,WAAW,GACX,cAAc,GACd,kBAAkB,CAAC;AAEvB,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAED,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;AAE1E,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC1D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,uDAAuD;AACvD,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,UAAU,GACV,WAAW,GACX,cAAc,GACd,kBAAkB,CAAC;AAEvB,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CACpD;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAED,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAE/F,eAAO,MAAM,0BAA0B,EAAE,SAAS,iBAAiB,EAKlE,CAAC;AAEF,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,gGAAgG;IAChG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC1D"}
package/dist/types.js CHANGED
@@ -2,9 +2,14 @@
2
2
  * Core type definitions for Faceted Prompting.
3
3
  *
4
4
  * Defines the vocabulary of facets (persona, policy, knowledge, instruction,
5
- * output-contract) and the structures used by compose() and DataEngine.
5
+ * output-contracts) and the structures used by compose() and DataEngine.
6
6
  *
7
7
  * This module has ZERO dependencies on TAKT internals.
8
8
  */
9
- export {};
9
+ export const DEFAULT_USER_MESSAGE_ORDER = [
10
+ 'knowledge',
11
+ 'instructions',
12
+ 'output-contracts',
13
+ 'policies',
14
+ ];
10
15
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4DH,MAAM,CAAC,MAAM,0BAA0B,GAAiC;IACtE,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,UAAU;CACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "faceted-prompting",
3
- "version": "0.3.1",
3
+ "version": "0.5.0",
4
4
  "description": "Faceted Prompting — structured prompt composition for LLMs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -50,11 +50,11 @@
50
50
  "eslint": "^9.0.0",
51
51
  "typescript": "^5.9.3",
52
52
  "typescript-eslint": "^8.57.0",
53
- "vitest": "^3.2.4"
53
+ "vitest": "^4.1.9"
54
54
  },
55
55
  "dependencies": {
56
56
  "traced-config": "^0.1.0",
57
57
  "update-notifier": "^7.3.1",
58
- "yaml": "^2.8.1"
58
+ "yaml": "^2.9.0"
59
59
  }
60
60
  }