apcore-toolkit 0.3.0 → 0.4.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.
- package/CHANGELOG.md +17 -0
- package/README.md +3 -2
- package/dist/display-resolver.d.ts +69 -0
- package/dist/display-resolver.d.ts.map +1 -0
- package/dist/display-resolver.js +195 -0
- package/dist/display-resolver.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.0] - 2026-03-25
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **`DisplayResolver`** — sparse `binding.yaml` overlay that resolves surface-facing alias, description, guidance, tags, and documentation into `metadata["display"]` for CLI, MCP, and A2A consumers. Ported from Python with full feature parity.
|
|
8
|
+
- Resolution chain: surface-specific override > `display` default > binding-level field > scanner value.
|
|
9
|
+
- MCP alias auto-sanitization and 64-char limit enforcement.
|
|
10
|
+
- CLI alias validation with fallback on pattern mismatch.
|
|
11
|
+
- `suggested_alias` fallback from `ScannedModule.metadata`.
|
|
12
|
+
- Match-count logging via `console.info`/`console.warn`.
|
|
13
|
+
- Supports single YAML files, directories of `*.binding.yaml` files, and pre-parsed data.
|
|
14
|
+
|
|
15
|
+
## [0.3.1] - 2026-03-22
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Rebrand: aipartnerup → aiperceivable
|
|
19
|
+
|
|
3
20
|
## [0.3.0] - 2026-03-19
|
|
4
21
|
|
|
5
22
|
### Added
|
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/
|
|
2
|
+
<img src="https://raw.githubusercontent.com/aiperceivable/apcore-toolkit/main/apcore-toolkit-logo.svg" alt="apcore-toolkit logo" width="200"/>
|
|
3
3
|
</div>
|
|
4
4
|
|
|
5
5
|
# apcore-toolkit
|
|
@@ -151,11 +151,12 @@ const dicts = modulesToDicts(modules); // batch conversion
|
|
|
151
151
|
| `runVerifierChain()` | Run verifier chain, short-circuit on first failure |
|
|
152
152
|
| `Enhancer` | Pluggable interface for metadata enhancement |
|
|
153
153
|
| `AIEnhancer` | SLM-based metadata enhancement for scanned modules |
|
|
154
|
+
| `DisplayResolver` | Sparse binding.yaml overlay — resolves alias, description, guidance, tags into `metadata["display"]` |
|
|
154
155
|
| `VERSION` | Package version string |
|
|
155
156
|
|
|
156
157
|
## Documentation
|
|
157
158
|
|
|
158
|
-
See the [apcore-toolkit documentation](https://github.com/
|
|
159
|
+
See the [apcore-toolkit documentation](https://github.com/aiperceivable/apcore-toolkit) for full API reference and guides.
|
|
159
160
|
|
|
160
161
|
## License
|
|
161
162
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DisplayResolver — sparse binding.yaml display overlay.
|
|
3
|
+
*
|
|
4
|
+
* Resolves surface-facing presentation fields (alias, description, guidance)
|
|
5
|
+
* for each ScannedModule by merging:
|
|
6
|
+
* surface-specific override > display default > binding-level > scanner value
|
|
7
|
+
*
|
|
8
|
+
* The resolved fields are stored in ScannedModule.metadata["display"] and
|
|
9
|
+
* travel through RegistryWriter into FunctionModule.metadata["display"],
|
|
10
|
+
* where CLI/MCP/A2A surfaces read them at render time.
|
|
11
|
+
*/
|
|
12
|
+
import type { ScannedModule } from './types.js';
|
|
13
|
+
/** Surface-specific resolved display fields. */
|
|
14
|
+
export interface SurfaceDisplay {
|
|
15
|
+
alias: string;
|
|
16
|
+
description: string;
|
|
17
|
+
guidance: string | null;
|
|
18
|
+
}
|
|
19
|
+
/** Full resolved display metadata. */
|
|
20
|
+
export interface DisplayMetadata {
|
|
21
|
+
alias: string;
|
|
22
|
+
description: string;
|
|
23
|
+
documentation: string | null;
|
|
24
|
+
guidance: string | null;
|
|
25
|
+
tags: string[];
|
|
26
|
+
cli: SurfaceDisplay;
|
|
27
|
+
mcp: SurfaceDisplay;
|
|
28
|
+
a2a: SurfaceDisplay;
|
|
29
|
+
}
|
|
30
|
+
/** Options for {@link DisplayResolver.resolve}. */
|
|
31
|
+
export interface DisplayResolveOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Path to a single `.binding.yaml` file or a directory containing
|
|
34
|
+
* `*.binding.yaml` files. Ignored when `bindingData` is provided.
|
|
35
|
+
*/
|
|
36
|
+
bindingPath?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Pre-parsed binding YAML content as an object (`{ bindings: [...] }`)
|
|
39
|
+
* or a `moduleId → entry` map. Takes precedence over `bindingPath`.
|
|
40
|
+
*/
|
|
41
|
+
bindingData?: Record<string, unknown>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Resolves display overlay fields for a list of ScannedModules.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const resolver = new DisplayResolver();
|
|
49
|
+
* const resolved = resolver.resolve(scannedModules, {
|
|
50
|
+
* bindingPath: './bindings/',
|
|
51
|
+
* });
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare class DisplayResolver {
|
|
55
|
+
/**
|
|
56
|
+
* Apply display overlay to a list of ScannedModules.
|
|
57
|
+
*
|
|
58
|
+
* @param modules - ScannedModule instances from a framework scanner.
|
|
59
|
+
* @param options - Optional binding path or pre-parsed binding data.
|
|
60
|
+
* @returns New ScannedModule list with `metadata["display"]` populated.
|
|
61
|
+
*/
|
|
62
|
+
resolve(modules: ScannedModule[], options?: DisplayResolveOptions): ScannedModule[];
|
|
63
|
+
private _buildBindingMap;
|
|
64
|
+
private _parseBindingData;
|
|
65
|
+
private _loadBindingFiles;
|
|
66
|
+
private _resolveOne;
|
|
67
|
+
private _validateAliases;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=display-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-resolver.d.ts","sourceRoot":"","sources":["../src/display-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAKD;;;;;;;;;;GAUG;AACH,qBAAa,eAAe;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,aAAa,EAAE;IA0BnF,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,WAAW;IAsEnB,OAAO,CAAC,gBAAgB;CAiCzB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DisplayResolver — sparse binding.yaml display overlay.
|
|
3
|
+
*
|
|
4
|
+
* Resolves surface-facing presentation fields (alias, description, guidance)
|
|
5
|
+
* for each ScannedModule by merging:
|
|
6
|
+
* surface-specific override > display default > binding-level > scanner value
|
|
7
|
+
*
|
|
8
|
+
* The resolved fields are stored in ScannedModule.metadata["display"] and
|
|
9
|
+
* travel through RegistryWriter into FunctionModule.metadata["display"],
|
|
10
|
+
* where CLI/MCP/A2A surfaces read them at render time.
|
|
11
|
+
*/
|
|
12
|
+
import * as fs from 'node:fs';
|
|
13
|
+
import * as path from 'node:path';
|
|
14
|
+
import * as yaml from 'js-yaml';
|
|
15
|
+
import { cloneModule } from './types.js';
|
|
16
|
+
const MCP_ALIAS_MAX = 64;
|
|
17
|
+
const MCP_ALIAS_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_-]*$/;
|
|
18
|
+
const CLI_ALIAS_PATTERN = /^[a-z][a-z0-9_-]*$/;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves display overlay fields for a list of ScannedModules.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const resolver = new DisplayResolver();
|
|
25
|
+
* const resolved = resolver.resolve(scannedModules, {
|
|
26
|
+
* bindingPath: './bindings/',
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export class DisplayResolver {
|
|
31
|
+
/**
|
|
32
|
+
* Apply display overlay to a list of ScannedModules.
|
|
33
|
+
*
|
|
34
|
+
* @param modules - ScannedModule instances from a framework scanner.
|
|
35
|
+
* @param options - Optional binding path or pre-parsed binding data.
|
|
36
|
+
* @returns New ScannedModule list with `metadata["display"]` populated.
|
|
37
|
+
*/
|
|
38
|
+
resolve(modules, options) {
|
|
39
|
+
const bindingPath = options?.bindingPath ?? null;
|
|
40
|
+
const bindingData = options?.bindingData ?? null;
|
|
41
|
+
const bindingMap = this._buildBindingMap(bindingPath, bindingData);
|
|
42
|
+
if (Object.keys(bindingMap).length > 0) {
|
|
43
|
+
const matched = modules.filter((mod) => mod.moduleId in bindingMap).length;
|
|
44
|
+
console.info(`DisplayResolver: ${matched}/${modules.length} modules matched binding entries.`);
|
|
45
|
+
if (matched === 0) {
|
|
46
|
+
console.warn(`DisplayResolver: binding map loaded ${Object.keys(bindingMap).length} entries but none matched ` +
|
|
47
|
+
'any scanned module_id — check binding.yaml module_id values.');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return modules.map((mod) => this._resolveOne(mod, bindingMap));
|
|
51
|
+
}
|
|
52
|
+
// ------------------------------------------------------------------
|
|
53
|
+
// Internal helpers
|
|
54
|
+
// ------------------------------------------------------------------
|
|
55
|
+
_buildBindingMap(bindingPath, bindingData) {
|
|
56
|
+
if (bindingData != null) {
|
|
57
|
+
return this._parseBindingData(bindingData);
|
|
58
|
+
}
|
|
59
|
+
if (bindingPath != null) {
|
|
60
|
+
return this._loadBindingFiles(bindingPath);
|
|
61
|
+
}
|
|
62
|
+
return {};
|
|
63
|
+
}
|
|
64
|
+
_parseBindingData(data) {
|
|
65
|
+
// Accept either { bindings: [...] } or a direct moduleId → entry map
|
|
66
|
+
if ('bindings' in data) {
|
|
67
|
+
const bindings = data['bindings'] ?? [];
|
|
68
|
+
const result = {};
|
|
69
|
+
for (const entry of bindings) {
|
|
70
|
+
const id = entry['module_id'];
|
|
71
|
+
if (id != null) {
|
|
72
|
+
result[id] = entry;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
// Already a map
|
|
78
|
+
const result = {};
|
|
79
|
+
for (const [k, v] of Object.entries(data)) {
|
|
80
|
+
if (v != null && typeof v === 'object' && !Array.isArray(v)) {
|
|
81
|
+
result[k] = v;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
_loadBindingFiles(bindingPath) {
|
|
87
|
+
const result = {};
|
|
88
|
+
let files = [];
|
|
89
|
+
try {
|
|
90
|
+
const stat = fs.statSync(bindingPath);
|
|
91
|
+
if (stat.isFile()) {
|
|
92
|
+
files = [bindingPath];
|
|
93
|
+
}
|
|
94
|
+
else if (stat.isDirectory()) {
|
|
95
|
+
files = fs
|
|
96
|
+
.readdirSync(bindingPath)
|
|
97
|
+
.filter((f) => f.endsWith('.binding.yaml'))
|
|
98
|
+
.sort()
|
|
99
|
+
.map((f) => path.join(bindingPath, f));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
console.warn(`DisplayResolver: binding path not found: ${bindingPath}`);
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
for (const f of files) {
|
|
107
|
+
try {
|
|
108
|
+
const content = fs.readFileSync(f, 'utf-8');
|
|
109
|
+
const data = yaml.load(content) ?? {};
|
|
110
|
+
Object.assign(result, this._parseBindingData(data));
|
|
111
|
+
}
|
|
112
|
+
catch (exc) {
|
|
113
|
+
console.warn(`DisplayResolver: failed to load ${f}: ${exc}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
_resolveOne(mod, bindingMap) {
|
|
119
|
+
const entry = bindingMap[mod.moduleId] ?? {};
|
|
120
|
+
const displayCfg = entry['display'] ?? {};
|
|
121
|
+
const bindingDesc = entry['description'];
|
|
122
|
+
const bindingDocs = entry['documentation'];
|
|
123
|
+
const suggestedAlias = mod.metadata?.['suggested_alias'] ?? null;
|
|
124
|
+
// -- Resolve cross-surface defaults --
|
|
125
|
+
const defaultAlias = displayCfg['alias'] || suggestedAlias || mod.moduleId;
|
|
126
|
+
const defaultDescription = displayCfg['description'] || bindingDesc || mod.description;
|
|
127
|
+
const defaultDocumentation = displayCfg['documentation'] || bindingDocs || mod.documentation || null;
|
|
128
|
+
const defaultGuidance = displayCfg['guidance'] || null;
|
|
129
|
+
const resolvedTags = displayCfg['tags'] ?? entry['tags'] ?? [...mod.tags];
|
|
130
|
+
// -- Resolve per-surface fields --
|
|
131
|
+
const resolveSurface = (key) => {
|
|
132
|
+
const sc = displayCfg[key] ?? {};
|
|
133
|
+
const aliasExplicit = Boolean(sc['alias']);
|
|
134
|
+
return {
|
|
135
|
+
surface: {
|
|
136
|
+
alias: sc['alias'] || defaultAlias,
|
|
137
|
+
description: sc['description'] || defaultDescription,
|
|
138
|
+
guidance: sc['guidance'] || defaultGuidance,
|
|
139
|
+
},
|
|
140
|
+
aliasExplicit,
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
const { surface: cliSurface, aliasExplicit: cliAliasExplicit } = resolveSurface('cli');
|
|
144
|
+
const { surface: mcpSurface } = resolveSurface('mcp');
|
|
145
|
+
const { surface: a2aSurface } = resolveSurface('a2a');
|
|
146
|
+
// Auto-sanitize MCP alias: replace non-[a-zA-Z0-9_-] chars with _,
|
|
147
|
+
// then prepend _ if the result starts with a digit.
|
|
148
|
+
const rawMcpAlias = mcpSurface.alias;
|
|
149
|
+
let sanitized = rawMcpAlias.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
150
|
+
if (sanitized.length > 0 && /^\d/.test(sanitized)) {
|
|
151
|
+
sanitized = '_' + sanitized;
|
|
152
|
+
}
|
|
153
|
+
mcpSurface.alias = sanitized;
|
|
154
|
+
if (sanitized !== rawMcpAlias) {
|
|
155
|
+
console.debug(`Module '${mod.moduleId}': MCP alias auto-sanitized '${rawMcpAlias}' → '${sanitized}'.`);
|
|
156
|
+
}
|
|
157
|
+
const display = {
|
|
158
|
+
alias: defaultAlias,
|
|
159
|
+
description: defaultDescription,
|
|
160
|
+
documentation: defaultDocumentation,
|
|
161
|
+
guidance: defaultGuidance,
|
|
162
|
+
tags: resolvedTags,
|
|
163
|
+
cli: cliSurface,
|
|
164
|
+
mcp: mcpSurface,
|
|
165
|
+
a2a: a2aSurface,
|
|
166
|
+
};
|
|
167
|
+
// -- Validate aliases --
|
|
168
|
+
this._validateAliases(display, mod.moduleId, cliAliasExplicit);
|
|
169
|
+
const newMetadata = { ...mod.metadata, display };
|
|
170
|
+
return cloneModule(mod, { metadata: newMetadata });
|
|
171
|
+
}
|
|
172
|
+
_validateAliases(display, moduleId, cliAliasExplicit) {
|
|
173
|
+
// MCP: MUST enforce 64-char hard limit (alias was already auto-sanitized)
|
|
174
|
+
const mcpAlias = display.mcp.alias;
|
|
175
|
+
if (mcpAlias.length > MCP_ALIAS_MAX) {
|
|
176
|
+
throw new Error(`Module '${moduleId}': MCP alias '${mcpAlias}' exceeds ` +
|
|
177
|
+
`${MCP_ALIAS_MAX}-character hard limit (OpenAI spec). ` +
|
|
178
|
+
'Set display.mcp.alias to a shorter value.');
|
|
179
|
+
}
|
|
180
|
+
if (!MCP_ALIAS_PATTERN.test(mcpAlias)) {
|
|
181
|
+
throw new Error(`Module '${moduleId}': MCP alias '${mcpAlias}' does not match ` +
|
|
182
|
+
'required pattern ^[a-zA-Z_][a-zA-Z0-9_-]*$.');
|
|
183
|
+
}
|
|
184
|
+
// CLI: only validate user-explicitly-set aliases
|
|
185
|
+
if (cliAliasExplicit) {
|
|
186
|
+
const cliAlias = display.cli.alias;
|
|
187
|
+
if (!CLI_ALIAS_PATTERN.test(cliAlias)) {
|
|
188
|
+
console.warn(`Module '${moduleId}': CLI alias '${cliAlias}' does not match shell-safe pattern ` +
|
|
189
|
+
`^[a-z][a-z0-9_-]*$ — falling back to default alias '${display.alias}'.`);
|
|
190
|
+
display.cli.alias = display.alias;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=display-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-resolver.js","sourceRoot":"","sources":["../src/display-resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export { toMarkdown } from './formatting/index.js';
|
|
|
9
9
|
export { flattenParams } from './flatten-params.js';
|
|
10
10
|
export { AIEnhancer } from './ai-enhancer.js';
|
|
11
11
|
export type { AIEnhancerOptions, Enhancer } from './ai-enhancer.js';
|
|
12
|
+
export { DisplayResolver } from './display-resolver.js';
|
|
13
|
+
export type { DisplayResolveOptions, DisplayMetadata, SurfaceDisplay, } from './display-resolver.js';
|
|
12
14
|
export { YAMLWriter } from './output/yaml-writer.js';
|
|
13
15
|
export { TypeScriptWriter } from './output/typescript-writer.js';
|
|
14
16
|
export { RegistryWriter } from './output/registry-writer.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,OAAO,EAAE,MAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAK/B,eAAO,MAAM,OAAO,EAAE,MAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { resolveTarget } from './resolve-target.js';
|
|
|
7
7
|
export { toMarkdown } from './formatting/index.js';
|
|
8
8
|
export { flattenParams } from './flatten-params.js';
|
|
9
9
|
export { AIEnhancer } from './ai-enhancer.js';
|
|
10
|
+
export { DisplayResolver } from './display-resolver.js';
|
|
10
11
|
export { YAMLWriter } from './output/yaml-writer.js';
|
|
11
12
|
export { TypeScriptWriter } from './output/typescript-writer.js';
|
|
12
13
|
export { RegistryWriter } from './output/registry-writer.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AAChE,MAAM,CAAC,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AAChE,MAAM,CAAC,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apcore-toolkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Shared scanner, schema extraction, and output toolkit for apcore framework adapters",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sideEffects": false,
|
|
15
15
|
"license": "Apache-2.0",
|
|
16
16
|
"author": {
|
|
17
|
-
"name": "
|
|
17
|
+
"name": "aiperceivable",
|
|
18
18
|
"email": "tercel.yi@gmail.com"
|
|
19
19
|
},
|
|
20
20
|
"keywords": [
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
],
|
|
29
29
|
"repository": {
|
|
30
30
|
"type": "git",
|
|
31
|
-
"url": "https://github.com/
|
|
31
|
+
"url": "https://github.com/aiperceivable/apcore-toolkit-typescript"
|
|
32
32
|
},
|
|
33
|
-
"homepage": "https://
|
|
33
|
+
"homepage": "https://aiperceivable.com",
|
|
34
34
|
"bugs": {
|
|
35
|
-
"url": "https://github.com/
|
|
35
|
+
"url": "https://github.com/aiperceivable/apcore-toolkit-typescript/issues"
|
|
36
36
|
},
|
|
37
37
|
"files": [
|
|
38
38
|
"dist",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"clean": "rm -rf dist"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"apcore-js": "
|
|
53
|
+
"apcore-js": ">=0.14.0",
|
|
54
54
|
"js-yaml": "^4.1.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|