@kadi.build/core 0.9.0 → 0.11.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/README.md +424 -1
- package/agent.json +19 -0
- package/dist/agent-json.d.ts +231 -0
- package/dist/agent-json.d.ts.map +1 -0
- package/dist/agent-json.js +554 -0
- package/dist/agent-json.js.map +1 -0
- package/dist/client.d.ts +34 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +50 -0
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/process-manager.d.ts +235 -0
- package/dist/process-manager.d.ts.map +1 -0
- package/dist/process-manager.js +647 -0
- package/dist/process-manager.js.map +1 -0
- package/dist/stdio-framing.d.ts +88 -0
- package/dist/stdio-framing.d.ts.map +1 -0
- package/dist/stdio-framing.js +194 -0
- package/dist/stdio-framing.js.map +1 -0
- package/dist/transports/stdio.d.ts.map +1 -1
- package/dist/transports/stdio.js +3 -181
- package/dist/transports/stdio.js.map +1 -1
- package/dist/types.d.ts +256 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +107 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +212 -0
- package/dist/utils.js.map +1 -0
- package/package.json +3 -1
- package/scripts/symlink.mjs +131 -0
- package/src/agent-json.ts +655 -0
- package/src/client.ts +56 -0
- package/src/errors.ts +15 -0
- package/src/index.ts +32 -0
- package/src/process-manager.ts +821 -0
- package/src/stdio-framing.ts +227 -0
- package/src/transports/stdio.ts +4 -221
- package/src/types.ts +277 -0
- package/src/utils.ts +246 -0
package/dist/types.d.ts
CHANGED
|
@@ -914,4 +914,260 @@ export interface EmitOptions {
|
|
|
914
914
|
*/
|
|
915
915
|
network?: string;
|
|
916
916
|
}
|
|
917
|
+
/**
|
|
918
|
+
* Lifecycle scripts in agent.json.
|
|
919
|
+
* These are executed by kadi-install and kadi-run at various stages.
|
|
920
|
+
*/
|
|
921
|
+
export interface AgentJsonScripts {
|
|
922
|
+
/** Run before setup — environment checks, secret retrieval */
|
|
923
|
+
preflight?: string;
|
|
924
|
+
/** Install dependencies and build */
|
|
925
|
+
setup?: string;
|
|
926
|
+
/** Start the agent/ability */
|
|
927
|
+
start?: string;
|
|
928
|
+
/** Stop the agent/ability */
|
|
929
|
+
stop?: string;
|
|
930
|
+
/** Development mode start */
|
|
931
|
+
dev?: string;
|
|
932
|
+
/** Cleanup generated files */
|
|
933
|
+
clean?: string;
|
|
934
|
+
/** Any other custom scripts */
|
|
935
|
+
[key: string]: string | undefined;
|
|
936
|
+
}
|
|
937
|
+
/**
|
|
938
|
+
* Container build profile in agent.json.
|
|
939
|
+
*/
|
|
940
|
+
export interface AgentJsonBuildProfile {
|
|
941
|
+
/** Base image (e.g., 'node:22-slim') */
|
|
942
|
+
from: string;
|
|
943
|
+
/** Target platform (e.g., 'linux/amd64') */
|
|
944
|
+
platform?: string;
|
|
945
|
+
/** KADI CLI version to install in container */
|
|
946
|
+
cli?: string;
|
|
947
|
+
/** RUN commands for Dockerfile */
|
|
948
|
+
run?: string[];
|
|
949
|
+
/** CMD for the container */
|
|
950
|
+
cmd?: string[];
|
|
951
|
+
/** Additional fields */
|
|
952
|
+
[key: string]: unknown;
|
|
953
|
+
}
|
|
954
|
+
/**
|
|
955
|
+
* Deployment profile in agent.json.
|
|
956
|
+
*/
|
|
957
|
+
export interface AgentJsonDeployProfile {
|
|
958
|
+
/** Deployment target (e.g., 'local', 'akash') */
|
|
959
|
+
target: string;
|
|
960
|
+
/** Container engine for local deployments (e.g., 'docker') */
|
|
961
|
+
engine?: string;
|
|
962
|
+
/** Network name for Akash deployments */
|
|
963
|
+
network?: string;
|
|
964
|
+
/** Deposit amount for Akash */
|
|
965
|
+
deposit?: string;
|
|
966
|
+
/** Service definitions */
|
|
967
|
+
services?: Record<string, unknown>;
|
|
968
|
+
/** Secret delivery configuration */
|
|
969
|
+
secrets?: Record<string, unknown>;
|
|
970
|
+
/** Additional fields */
|
|
971
|
+
[key: string]: unknown;
|
|
972
|
+
}
|
|
973
|
+
/**
|
|
974
|
+
* Full agent.json schema — union of all known fields across the ecosystem.
|
|
975
|
+
*
|
|
976
|
+
* Agent.json files can exist in three locations:
|
|
977
|
+
* 1. **Project root** — the agent's own config
|
|
978
|
+
* 2. **Installed ability** — an ability's config within abilities/
|
|
979
|
+
* 3. **KADI home** — global CLI config at ~/.kadi/
|
|
980
|
+
*
|
|
981
|
+
* @example
|
|
982
|
+
* ```typescript
|
|
983
|
+
* const agentJson: AgentJson = {
|
|
984
|
+
* name: 'my-agent',
|
|
985
|
+
* version: '1.0.0',
|
|
986
|
+
* type: 'ability',
|
|
987
|
+
* entrypoint: 'dist/index.js',
|
|
988
|
+
* abilities: { 'secret-ability': '^0.9.0' },
|
|
989
|
+
* scripts: { setup: 'npm install && npm run build', start: 'node dist/index.js' },
|
|
990
|
+
* deploy: { local: { target: 'local', engine: 'docker' } },
|
|
991
|
+
* };
|
|
992
|
+
* ```
|
|
993
|
+
*/
|
|
994
|
+
export interface AgentJson {
|
|
995
|
+
/** Name of the agent/ability/plugin (required) */
|
|
996
|
+
name: string;
|
|
997
|
+
/** Semver version */
|
|
998
|
+
version?: string;
|
|
999
|
+
/** Human-readable description */
|
|
1000
|
+
description?: string;
|
|
1001
|
+
/** License identifier */
|
|
1002
|
+
license?: string;
|
|
1003
|
+
/** Package type */
|
|
1004
|
+
type?: 'ability' | 'plugin' | 'agent';
|
|
1005
|
+
/** Entry point file for native loading */
|
|
1006
|
+
entrypoint?: string;
|
|
1007
|
+
/** Alternate entry field (used in some Python projects) */
|
|
1008
|
+
entry?: string;
|
|
1009
|
+
/** Git repository URL */
|
|
1010
|
+
repo?: string;
|
|
1011
|
+
/** Archive download URL */
|
|
1012
|
+
lib?: string;
|
|
1013
|
+
/** CLI commands this plugin provides */
|
|
1014
|
+
commands?: string[];
|
|
1015
|
+
/** Ability dependencies (name → semver range) */
|
|
1016
|
+
abilities?: Record<string, string>;
|
|
1017
|
+
/** Broker connections (name → URL or BrokerEntry) */
|
|
1018
|
+
brokers?: Record<string, string | {
|
|
1019
|
+
url: string;
|
|
1020
|
+
networks?: string[];
|
|
1021
|
+
}>;
|
|
1022
|
+
/** Lifecycle scripts */
|
|
1023
|
+
scripts?: AgentJsonScripts;
|
|
1024
|
+
/** Container build profiles */
|
|
1025
|
+
build?: Record<string, AgentJsonBuildProfile>;
|
|
1026
|
+
/** Deployment profiles */
|
|
1027
|
+
deploy?: Record<string, AgentJsonDeployProfile>;
|
|
1028
|
+
/** CLI plugin registrations */
|
|
1029
|
+
cliPlugins?: Record<string, unknown>;
|
|
1030
|
+
/** Extensible — any additional fields */
|
|
1031
|
+
[key: string]: unknown;
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* Options for creating an AgentJsonManager.
|
|
1035
|
+
*/
|
|
1036
|
+
export interface AgentJsonManagerOptions {
|
|
1037
|
+
/** Explicit project root. If omitted, auto-detected via findProjectRoot(). */
|
|
1038
|
+
projectRoot?: string;
|
|
1039
|
+
/** Custom KADI home path. Default: ~/.kadi */
|
|
1040
|
+
kadiHome?: string;
|
|
1041
|
+
/** If true, creates agent.json files that don't exist on first write. Default: true */
|
|
1042
|
+
createOnWrite?: boolean;
|
|
1043
|
+
}
|
|
1044
|
+
/**
|
|
1045
|
+
* Options for reading an ability's agent.json.
|
|
1046
|
+
*/
|
|
1047
|
+
export interface ReadAbilityOptions {
|
|
1048
|
+
/** Specific field to read (dot-notation path). */
|
|
1049
|
+
field?: string;
|
|
1050
|
+
/** Specific version to target when multiple versions are installed. */
|
|
1051
|
+
version?: string;
|
|
1052
|
+
}
|
|
1053
|
+
/**
|
|
1054
|
+
* Summary info about an installed ability.
|
|
1055
|
+
*/
|
|
1056
|
+
export interface AbilityInfo {
|
|
1057
|
+
/** Ability name */
|
|
1058
|
+
name: string;
|
|
1059
|
+
/** Installed version */
|
|
1060
|
+
version: string;
|
|
1061
|
+
/** Absolute path to the ability directory */
|
|
1062
|
+
path: string;
|
|
1063
|
+
}
|
|
1064
|
+
/**
|
|
1065
|
+
* Resolved paths for all known agent.json files.
|
|
1066
|
+
*/
|
|
1067
|
+
export interface AgentJsonPaths {
|
|
1068
|
+
/** Path to project root agent.json */
|
|
1069
|
+
project: string;
|
|
1070
|
+
/** Path to KADI home agent.json */
|
|
1071
|
+
home: string;
|
|
1072
|
+
/** Map of "name@version" → absolute path to agent.json */
|
|
1073
|
+
abilities: Record<string, string>;
|
|
1074
|
+
}
|
|
1075
|
+
/**
|
|
1076
|
+
* Execution mode for a managed process.
|
|
1077
|
+
*
|
|
1078
|
+
* - **headless**: Fire-and-forget. No communication channel. Best for builds, cleanup.
|
|
1079
|
+
* - **piped**: stdout/stderr are streamed back. Best for monitoring deploys, tailing logs.
|
|
1080
|
+
* - **bridge**: Full JSON-RPC stdio bridge. Best for interactive tools, worker agents.
|
|
1081
|
+
*/
|
|
1082
|
+
export type ProcessMode = 'headless' | 'piped' | 'bridge';
|
|
1083
|
+
/**
|
|
1084
|
+
* Lifecycle state of a managed process.
|
|
1085
|
+
*/
|
|
1086
|
+
export type ProcessState = 'running' | 'exited' | 'killed' | 'errored';
|
|
1087
|
+
/**
|
|
1088
|
+
* Options for spawning a managed process.
|
|
1089
|
+
*/
|
|
1090
|
+
export interface SpawnOptions {
|
|
1091
|
+
/** Shell command to execute */
|
|
1092
|
+
command: string;
|
|
1093
|
+
/** Arguments to the command */
|
|
1094
|
+
args?: string[];
|
|
1095
|
+
/** Working directory */
|
|
1096
|
+
cwd?: string;
|
|
1097
|
+
/** Environment variables (merged with process.env) */
|
|
1098
|
+
env?: Record<string, string>;
|
|
1099
|
+
/** Execution mode */
|
|
1100
|
+
mode: ProcessMode;
|
|
1101
|
+
/** Timeout in ms — auto-kills if exceeded. 0 = no timeout. Default: 0 */
|
|
1102
|
+
timeout?: number;
|
|
1103
|
+
/** Grace period before SIGKILL after SIGTERM (ms). Default: 5000 */
|
|
1104
|
+
killGracePeriod?: number;
|
|
1105
|
+
/** Maximum output buffer size in bytes (piped mode). Default: 10MB */
|
|
1106
|
+
maxOutputBuffer?: number;
|
|
1107
|
+
}
|
|
1108
|
+
/**
|
|
1109
|
+
* Information about a managed process.
|
|
1110
|
+
*/
|
|
1111
|
+
export interface ProcessInfo {
|
|
1112
|
+
/** Unique identifier (the name passed to spawn) */
|
|
1113
|
+
id: string;
|
|
1114
|
+
/** OS process ID */
|
|
1115
|
+
pid: number;
|
|
1116
|
+
/** Current lifecycle state */
|
|
1117
|
+
state: ProcessState;
|
|
1118
|
+
/** Execution mode */
|
|
1119
|
+
mode: ProcessMode;
|
|
1120
|
+
/** When the process was started */
|
|
1121
|
+
startedAt: Date;
|
|
1122
|
+
/** When the process ended (null if still running) */
|
|
1123
|
+
endedAt: Date | null;
|
|
1124
|
+
/** Exit code (null if still running or killed by signal) */
|
|
1125
|
+
exitCode: number | null;
|
|
1126
|
+
/** Signal that killed the process (null if exited normally) */
|
|
1127
|
+
signal: string | null;
|
|
1128
|
+
/** Duration in ms (null if still running) */
|
|
1129
|
+
duration: number | null;
|
|
1130
|
+
/** The command that was run */
|
|
1131
|
+
command: string;
|
|
1132
|
+
/** Arguments passed to the command */
|
|
1133
|
+
args: string[];
|
|
1134
|
+
/** Working directory */
|
|
1135
|
+
cwd: string;
|
|
1136
|
+
}
|
|
1137
|
+
/**
|
|
1138
|
+
* Exit information for a completed process.
|
|
1139
|
+
*/
|
|
1140
|
+
export interface ProcessExitInfo {
|
|
1141
|
+
/** Exit code (null if killed by signal) */
|
|
1142
|
+
exitCode: number | null;
|
|
1143
|
+
/** Signal that killed the process (null if exited normally) */
|
|
1144
|
+
signal: string | null;
|
|
1145
|
+
/** Duration in ms from start to exit */
|
|
1146
|
+
duration: number;
|
|
1147
|
+
}
|
|
1148
|
+
/**
|
|
1149
|
+
* Buffered output from a piped process.
|
|
1150
|
+
*/
|
|
1151
|
+
export interface ProcessOutput {
|
|
1152
|
+
/** All captured stdout data */
|
|
1153
|
+
stdout: string;
|
|
1154
|
+
/** All captured stderr data */
|
|
1155
|
+
stderr: string;
|
|
1156
|
+
}
|
|
1157
|
+
/**
|
|
1158
|
+
* Options for listing processes.
|
|
1159
|
+
*/
|
|
1160
|
+
export interface ProcessListOptions {
|
|
1161
|
+
/** Filter by lifecycle state */
|
|
1162
|
+
state?: ProcessState;
|
|
1163
|
+
/** Filter by execution mode */
|
|
1164
|
+
mode?: ProcessMode;
|
|
1165
|
+
}
|
|
1166
|
+
/**
|
|
1167
|
+
* Options for pruning dead processes.
|
|
1168
|
+
*/
|
|
1169
|
+
export interface ProcessPruneOptions {
|
|
1170
|
+
/** Remove exited processes older than this many seconds */
|
|
1171
|
+
olderThan?: number;
|
|
1172
|
+
}
|
|
917
1173
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dot-path utility functions for kadi-core
|
|
3
|
+
*
|
|
4
|
+
* Provides get/set/delete operations on nested objects using dot-notation paths.
|
|
5
|
+
* Used by AgentJsonManager for field-level reads and writes.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const obj = { deploy: { local: { target: 'docker' } } };
|
|
10
|
+
*
|
|
11
|
+
* getByPath(obj, 'deploy.local.target');
|
|
12
|
+
* // → 'docker'
|
|
13
|
+
*
|
|
14
|
+
* setByPath(obj, 'deploy.staging.target', 'akash');
|
|
15
|
+
* // obj is now: { deploy: { local: { target: 'docker' }, staging: { target: 'akash' } } }
|
|
16
|
+
*
|
|
17
|
+
* deleteByPath(obj, 'deploy.staging');
|
|
18
|
+
* // obj is now: { deploy: { local: { target: 'docker' } } }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Split a dot-notation path into segments.
|
|
23
|
+
*
|
|
24
|
+
* If the full path exists as a literal key in the object, it takes precedence
|
|
25
|
+
* over dot-splitting. This handles the (rare) case where a key literally
|
|
26
|
+
* contains a dot.
|
|
27
|
+
*
|
|
28
|
+
* @param path - Dot-notation path (e.g., 'deploy.local.services')
|
|
29
|
+
* @returns Array of path segments
|
|
30
|
+
*/
|
|
31
|
+
export declare function splitPath(path: string): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Get a value from a nested object by dot-notation path.
|
|
34
|
+
*
|
|
35
|
+
* @param obj - The object to read from
|
|
36
|
+
* @param path - Dot-notation path (e.g., 'deploy.local.target')
|
|
37
|
+
* @returns The value at the path, or undefined if not found
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const config = { deploy: { local: { target: 'docker' } } };
|
|
42
|
+
*
|
|
43
|
+
* getByPath(config, 'deploy.local.target'); // 'docker'
|
|
44
|
+
* getByPath(config, 'deploy.local'); // { target: 'docker' }
|
|
45
|
+
* getByPath(config, 'missing'); // undefined
|
|
46
|
+
* getByPath(config, 'deploy.missing.deep'); // undefined
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function getByPath(obj: Record<string, unknown>, path: string): unknown;
|
|
50
|
+
/**
|
|
51
|
+
* Deep merge two objects. Arrays and scalars are replaced, not merged.
|
|
52
|
+
*
|
|
53
|
+
* @param target - The object to merge into
|
|
54
|
+
* @param source - The object to merge from
|
|
55
|
+
* @returns The merged target object
|
|
56
|
+
*/
|
|
57
|
+
export declare function deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): Record<string, unknown>;
|
|
58
|
+
/**
|
|
59
|
+
* Set a value in a nested object by dot-notation path.
|
|
60
|
+
*
|
|
61
|
+
* Creates intermediate objects as needed. For object values, performs
|
|
62
|
+
* a deep merge with existing values (preserving sibling keys).
|
|
63
|
+
* For scalars and arrays, replaces the value.
|
|
64
|
+
*
|
|
65
|
+
* @param obj - The object to modify (mutated in place)
|
|
66
|
+
* @param path - Dot-notation path (e.g., 'deploy.staging.target')
|
|
67
|
+
* @param value - The value to set
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const config = { deploy: { local: { target: 'docker', engine: 'docker' } } };
|
|
72
|
+
*
|
|
73
|
+
* // Set a scalar — replaces
|
|
74
|
+
* setByPath(config, 'deploy.local.target', 'akash');
|
|
75
|
+
* // { deploy: { local: { target: 'akash', engine: 'docker' } } }
|
|
76
|
+
*
|
|
77
|
+
* // Set an object — deep merges
|
|
78
|
+
* setByPath(config, 'deploy.local', { network: 'mainnet' });
|
|
79
|
+
* // { deploy: { local: { target: 'akash', engine: 'docker', network: 'mainnet' } } }
|
|
80
|
+
*
|
|
81
|
+
* // Set on non-existent path — creates intermediates
|
|
82
|
+
* setByPath(config, 'build.arm64.from', 'node:22-slim');
|
|
83
|
+
* // { deploy: {...}, build: { arm64: { from: 'node:22-slim' } } }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function setByPath(obj: Record<string, unknown>, path: string, value: unknown): void;
|
|
87
|
+
/**
|
|
88
|
+
* Delete a key from a nested object by dot-notation path.
|
|
89
|
+
*
|
|
90
|
+
* @param obj - The object to modify (mutated in place)
|
|
91
|
+
* @param path - Dot-notation path to the key to delete
|
|
92
|
+
* @returns true if the key was found and deleted, false otherwise
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const config = { deploy: { local: { target: 'docker' }, staging: { target: 'akash' } } };
|
|
97
|
+
*
|
|
98
|
+
* deleteByPath(config, 'deploy.staging');
|
|
99
|
+
* // config is now: { deploy: { local: { target: 'docker' } } }
|
|
100
|
+
* // returns true
|
|
101
|
+
*
|
|
102
|
+
* deleteByPath(config, 'missing.key');
|
|
103
|
+
* // returns false
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function deleteByPath(obj: Record<string, unknown>, path: string): boolean;
|
|
107
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAGhD;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAiB7E;AAMD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAwCN;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA4BhF"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dot-path utility functions for kadi-core
|
|
3
|
+
*
|
|
4
|
+
* Provides get/set/delete operations on nested objects using dot-notation paths.
|
|
5
|
+
* Used by AgentJsonManager for field-level reads and writes.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const obj = { deploy: { local: { target: 'docker' } } };
|
|
10
|
+
*
|
|
11
|
+
* getByPath(obj, 'deploy.local.target');
|
|
12
|
+
* // → 'docker'
|
|
13
|
+
*
|
|
14
|
+
* setByPath(obj, 'deploy.staging.target', 'akash');
|
|
15
|
+
* // obj is now: { deploy: { local: { target: 'docker' }, staging: { target: 'akash' } } }
|
|
16
|
+
*
|
|
17
|
+
* deleteByPath(obj, 'deploy.staging');
|
|
18
|
+
* // obj is now: { deploy: { local: { target: 'docker' } } }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
22
|
+
// PATH PARSING
|
|
23
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
24
|
+
/**
|
|
25
|
+
* Split a dot-notation path into segments.
|
|
26
|
+
*
|
|
27
|
+
* If the full path exists as a literal key in the object, it takes precedence
|
|
28
|
+
* over dot-splitting. This handles the (rare) case where a key literally
|
|
29
|
+
* contains a dot.
|
|
30
|
+
*
|
|
31
|
+
* @param path - Dot-notation path (e.g., 'deploy.local.services')
|
|
32
|
+
* @returns Array of path segments
|
|
33
|
+
*/
|
|
34
|
+
export function splitPath(path) {
|
|
35
|
+
if (!path)
|
|
36
|
+
return [];
|
|
37
|
+
return path.split('.');
|
|
38
|
+
}
|
|
39
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
40
|
+
// GET
|
|
41
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
42
|
+
/**
|
|
43
|
+
* Get a value from a nested object by dot-notation path.
|
|
44
|
+
*
|
|
45
|
+
* @param obj - The object to read from
|
|
46
|
+
* @param path - Dot-notation path (e.g., 'deploy.local.target')
|
|
47
|
+
* @returns The value at the path, or undefined if not found
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const config = { deploy: { local: { target: 'docker' } } };
|
|
52
|
+
*
|
|
53
|
+
* getByPath(config, 'deploy.local.target'); // 'docker'
|
|
54
|
+
* getByPath(config, 'deploy.local'); // { target: 'docker' }
|
|
55
|
+
* getByPath(config, 'missing'); // undefined
|
|
56
|
+
* getByPath(config, 'deploy.missing.deep'); // undefined
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export function getByPath(obj, path) {
|
|
60
|
+
// Check if the full path exists as a literal key first
|
|
61
|
+
if (path in obj) {
|
|
62
|
+
return obj[path];
|
|
63
|
+
}
|
|
64
|
+
const segments = splitPath(path);
|
|
65
|
+
let current = obj;
|
|
66
|
+
for (const segment of segments) {
|
|
67
|
+
if (current === null || current === undefined || typeof current !== 'object') {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
current = current[segment];
|
|
71
|
+
}
|
|
72
|
+
return current;
|
|
73
|
+
}
|
|
74
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
75
|
+
// SET
|
|
76
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
77
|
+
/**
|
|
78
|
+
* Deep merge two objects. Arrays and scalars are replaced, not merged.
|
|
79
|
+
*
|
|
80
|
+
* @param target - The object to merge into
|
|
81
|
+
* @param source - The object to merge from
|
|
82
|
+
* @returns The merged target object
|
|
83
|
+
*/
|
|
84
|
+
export function deepMerge(target, source) {
|
|
85
|
+
for (const key of Object.keys(source)) {
|
|
86
|
+
const sourceVal = source[key];
|
|
87
|
+
const targetVal = target[key];
|
|
88
|
+
if (sourceVal !== null &&
|
|
89
|
+
typeof sourceVal === 'object' &&
|
|
90
|
+
!Array.isArray(sourceVal) &&
|
|
91
|
+
targetVal !== null &&
|
|
92
|
+
typeof targetVal === 'object' &&
|
|
93
|
+
!Array.isArray(targetVal)) {
|
|
94
|
+
// Both are plain objects — recurse
|
|
95
|
+
target[key] = deepMerge(targetVal, sourceVal);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Scalar, array, or type mismatch — replace
|
|
99
|
+
target[key] = sourceVal;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return target;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Set a value in a nested object by dot-notation path.
|
|
106
|
+
*
|
|
107
|
+
* Creates intermediate objects as needed. For object values, performs
|
|
108
|
+
* a deep merge with existing values (preserving sibling keys).
|
|
109
|
+
* For scalars and arrays, replaces the value.
|
|
110
|
+
*
|
|
111
|
+
* @param obj - The object to modify (mutated in place)
|
|
112
|
+
* @param path - Dot-notation path (e.g., 'deploy.staging.target')
|
|
113
|
+
* @param value - The value to set
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const config = { deploy: { local: { target: 'docker', engine: 'docker' } } };
|
|
118
|
+
*
|
|
119
|
+
* // Set a scalar — replaces
|
|
120
|
+
* setByPath(config, 'deploy.local.target', 'akash');
|
|
121
|
+
* // { deploy: { local: { target: 'akash', engine: 'docker' } } }
|
|
122
|
+
*
|
|
123
|
+
* // Set an object — deep merges
|
|
124
|
+
* setByPath(config, 'deploy.local', { network: 'mainnet' });
|
|
125
|
+
* // { deploy: { local: { target: 'akash', engine: 'docker', network: 'mainnet' } } }
|
|
126
|
+
*
|
|
127
|
+
* // Set on non-existent path — creates intermediates
|
|
128
|
+
* setByPath(config, 'build.arm64.from', 'node:22-slim');
|
|
129
|
+
* // { deploy: {...}, build: { arm64: { from: 'node:22-slim' } } }
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export function setByPath(obj, path, value) {
|
|
133
|
+
const segments = splitPath(path);
|
|
134
|
+
if (segments.length === 0)
|
|
135
|
+
return;
|
|
136
|
+
// Walk to the parent of the target key, creating intermediates
|
|
137
|
+
let current = obj;
|
|
138
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
139
|
+
const segment = segments[i];
|
|
140
|
+
const next = current[segment];
|
|
141
|
+
if (next === null || next === undefined || typeof next !== 'object' || Array.isArray(next)) {
|
|
142
|
+
// Create intermediate object
|
|
143
|
+
const newObj = {};
|
|
144
|
+
current[segment] = newObj;
|
|
145
|
+
current = newObj;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
current = next;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const lastSegment = segments[segments.length - 1];
|
|
152
|
+
const existing = current[lastSegment];
|
|
153
|
+
// Deep merge if both existing and new are plain objects
|
|
154
|
+
if (value !== null &&
|
|
155
|
+
typeof value === 'object' &&
|
|
156
|
+
!Array.isArray(value) &&
|
|
157
|
+
existing !== null &&
|
|
158
|
+
typeof existing === 'object' &&
|
|
159
|
+
!Array.isArray(existing)) {
|
|
160
|
+
current[lastSegment] = deepMerge(existing, value);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
current[lastSegment] = value;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
167
|
+
// DELETE
|
|
168
|
+
// ═══════════════════════════════════════════════════════════════════════
|
|
169
|
+
/**
|
|
170
|
+
* Delete a key from a nested object by dot-notation path.
|
|
171
|
+
*
|
|
172
|
+
* @param obj - The object to modify (mutated in place)
|
|
173
|
+
* @param path - Dot-notation path to the key to delete
|
|
174
|
+
* @returns true if the key was found and deleted, false otherwise
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const config = { deploy: { local: { target: 'docker' }, staging: { target: 'akash' } } };
|
|
179
|
+
*
|
|
180
|
+
* deleteByPath(config, 'deploy.staging');
|
|
181
|
+
* // config is now: { deploy: { local: { target: 'docker' } } }
|
|
182
|
+
* // returns true
|
|
183
|
+
*
|
|
184
|
+
* deleteByPath(config, 'missing.key');
|
|
185
|
+
* // returns false
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export function deleteByPath(obj, path) {
|
|
189
|
+
const segments = splitPath(path);
|
|
190
|
+
if (segments.length === 0)
|
|
191
|
+
return false;
|
|
192
|
+
// Walk to the parent of the target key
|
|
193
|
+
let current = obj;
|
|
194
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
195
|
+
const segment = segments[i];
|
|
196
|
+
if (current === null || current === undefined || typeof current !== 'object') {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
current = current[segment];
|
|
200
|
+
}
|
|
201
|
+
if (current === null || current === undefined || typeof current !== 'object') {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
const lastSegment = segments[segments.length - 1];
|
|
205
|
+
const parent = current;
|
|
206
|
+
if (!(lastSegment in parent)) {
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
delete parent[lastSegment];
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kadi.build/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "A lean, readable SDK for building KADI agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"dist",
|
|
16
16
|
"src",
|
|
17
|
+
"scripts",
|
|
18
|
+
"agent.json",
|
|
17
19
|
"tsconfig.json",
|
|
18
20
|
"README.md",
|
|
19
21
|
"LICENSE"
|