lua-cli 3.9.3 → 3.10.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/dist/api/device.api.service.d.ts +61 -0
- package/dist/api/device.api.service.d.ts.map +1 -0
- package/dist/api/device.api.service.js +72 -0
- package/dist/api/device.api.service.js.map +1 -0
- package/dist/api/lazy-instances.d.ts +1 -0
- package/dist/api/lazy-instances.d.ts.map +1 -1
- package/dist/api/lazy-instances.js +12 -0
- package/dist/api/lazy-instances.js.map +1 -1
- package/dist/api-exports.d.ts +38 -2
- package/dist/api-exports.d.ts.map +1 -1
- package/dist/api-exports.js +45 -2
- package/dist/api-exports.js.map +1 -1
- package/dist/cli/command-definitions.d.ts.map +1 -1
- package/dist/cli/command-definitions.js +75 -11
- package/dist/cli/command-definitions.js.map +1 -1
- package/dist/commands/devices.d.ts +6 -0
- package/dist/commands/devices.d.ts.map +1 -0
- package/dist/commands/devices.js +266 -0
- package/dist/commands/devices.js.map +1 -0
- package/dist/commands/index.d.ts +2 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/models.d.ts +18 -0
- package/dist/commands/models.d.ts.map +1 -0
- package/dist/commands/models.js +206 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +8 -4
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/pushBackup.d.ts.map +1 -1
- package/dist/commands/pushBackup.js +9 -1
- package/dist/commands/pushBackup.js.map +1 -1
- package/dist/commands/sync.d.ts +2 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +116 -17
- package/dist/commands/sync.js.map +1 -1
- package/dist/compiler/agent-traverser.d.ts.map +1 -1
- package/dist/compiler/agent-traverser.js +1 -0
- package/dist/compiler/agent-traverser.js.map +1 -1
- package/dist/compiler/index.d.ts +1 -1
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/index.js +1 -1
- package/dist/compiler/index.js.map +1 -1
- package/dist/compiler/plugins/device.plugin.d.ts +46 -0
- package/dist/compiler/plugins/device.plugin.d.ts.map +1 -0
- package/dist/compiler/plugins/device.plugin.js +279 -0
- package/dist/compiler/plugins/device.plugin.js.map +1 -0
- package/dist/compiler/plugins/registry.d.ts.map +1 -1
- package/dist/compiler/plugins/registry.js +2 -0
- package/dist/compiler/plugins/registry.js.map +1 -1
- package/dist/compiler/source-writer.d.ts +17 -1
- package/dist/compiler/source-writer.d.ts.map +1 -1
- package/dist/compiler/source-writer.js +92 -28
- package/dist/compiler/source-writer.js.map +1 -1
- package/dist/compiler/types.d.ts +44 -2
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/compiler/types.js +1 -0
- package/dist/compiler/types.js.map +1 -1
- package/dist/interfaces/devices.d.ts +75 -0
- package/dist/interfaces/devices.d.ts.map +1 -0
- package/dist/interfaces/devices.js +5 -0
- package/dist/interfaces/devices.js.map +1 -0
- package/dist/primitives/base.handler.d.ts.map +1 -1
- package/dist/primitives/base.handler.js +31 -7
- package/dist/primitives/base.handler.js.map +1 -1
- package/dist/primitives/device.handler.d.ts +43 -0
- package/dist/primitives/device.handler.d.ts.map +1 -0
- package/dist/primitives/device.handler.js +82 -0
- package/dist/primitives/device.handler.js.map +1 -0
- package/dist/primitives/index.d.ts +2 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +4 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/types/skill.d.ts +98 -0
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/types/skill.js +21 -0
- package/dist/types/skill.js.map +1 -1
- package/dist/types/yaml.types.d.ts +8 -0
- package/dist/types/yaml.types.d.ts.map +1 -1
- package/dist/utils/backup-helpers.d.ts +41 -10
- package/dist/utils/backup-helpers.d.ts.map +1 -1
- package/dist/utils/backup-helpers.js +227 -15
- package/dist/utils/backup-helpers.js.map +1 -1
- package/dist/utils/init-agent.d.ts +8 -1
- package/dist/utils/init-agent.d.ts.map +1 -1
- package/dist/utils/init-agent.js +14 -1
- package/dist/utils/init-agent.js.map +1 -1
- package/dist/utils/init-prompts.d.ts +1 -1
- package/dist/utils/init-prompts.d.ts.map +1 -1
- package/dist/utils/init-prompts.js +7 -20
- package/dist/utils/init-prompts.js.map +1 -1
- package/dist/utils/sandbox-storage.d.ts +6 -0
- package/dist/utils/sandbox-storage.d.ts.map +1 -1
- package/dist/utils/sandbox-storage.js +32 -1
- package/dist/utils/sandbox-storage.js.map +1 -1
- package/dist/utils/sandbox.d.ts.map +1 -1
- package/dist/utils/sandbox.js +23 -0
- package/dist/utils/sandbox.js.map +1 -1
- package/docs/CLI_REFERENCE.md +152 -2
- package/docs/README.md +3 -1
- package/node_modules/@lua/shared-types/dist/index.d.mts +135 -2
- package/node_modules/@lua/shared-types/dist/index.d.ts +135 -2
- package/node_modules/@lua/shared-types/dist/index.js +57 -2
- package/node_modules/@lua/shared-types/dist/index.mjs +55 -1
- package/node_modules/@lua/shared-types/src/channel.type.ts +1 -0
- package/node_modules/@lua/shared-types/src/device.types.ts +172 -0
- package/node_modules/@lua/shared-types/src/index.ts +2 -0
- package/node_modules/@lua/shared-types/src/persona-defaults.ts +59 -0
- package/package.json +1 -1
- package/template/package.json +1 -1
package/dist/types/skill.d.ts
CHANGED
|
@@ -843,6 +843,8 @@ export interface LuaAgentConfig {
|
|
|
843
843
|
postProcessors?: PostProcessor[];
|
|
844
844
|
/** Array of MCP servers (Model Context Protocol) for external tool integrations */
|
|
845
845
|
mcpServers?: LuaMCPServer[];
|
|
846
|
+
/** Array of devices (external hardware that the agent can send commands to and receive triggers from) */
|
|
847
|
+
devices?: LuaDevice[];
|
|
846
848
|
/** Per-agent message batching/debounce configuration. Overrides platform env var defaults. */
|
|
847
849
|
batching?: BatchingConfig;
|
|
848
850
|
}
|
|
@@ -884,6 +886,7 @@ export declare class LuaAgent {
|
|
|
884
886
|
private readonly preProcessors;
|
|
885
887
|
private readonly postProcessors;
|
|
886
888
|
private readonly mcpServers;
|
|
889
|
+
private readonly devices;
|
|
887
890
|
private readonly batching?;
|
|
888
891
|
/**
|
|
889
892
|
* Creates a new LuaAgent instance.
|
|
@@ -898,6 +901,7 @@ export declare class LuaAgent {
|
|
|
898
901
|
* @param config.preProcessors - Optional array of preprocessors
|
|
899
902
|
* @param config.postProcessors - Optional array of postprocessors
|
|
900
903
|
* @param config.mcpServers - Optional array of MCP servers
|
|
904
|
+
* @param config.devices - Optional array of devices (external hardware)
|
|
901
905
|
* @param config.batching - Optional per-agent batching/debounce configuration
|
|
902
906
|
*/
|
|
903
907
|
constructor(config: LuaAgentConfig);
|
|
@@ -911,5 +915,99 @@ export declare class LuaAgent {
|
|
|
911
915
|
getPostProcessors(): PostProcessor[];
|
|
912
916
|
getMCPServers(): LuaMCPServer[];
|
|
913
917
|
getBatching(): BatchingConfig | undefined;
|
|
918
|
+
getDevices(): LuaDevice[];
|
|
919
|
+
}
|
|
920
|
+
/** Configuration for a single device command (agent → device) */
|
|
921
|
+
export interface DeviceCommandConfig {
|
|
922
|
+
/** Description of what this command does */
|
|
923
|
+
description: string;
|
|
924
|
+
/** Zod schema for command input validation */
|
|
925
|
+
inputSchema?: ZodType;
|
|
926
|
+
/** Retry configuration for failed commands */
|
|
927
|
+
retry?: {
|
|
928
|
+
maxAttempts: number;
|
|
929
|
+
backoffMs: number;
|
|
930
|
+
};
|
|
931
|
+
/** Timeout in milliseconds (default: 30000) */
|
|
932
|
+
timeoutMs?: number;
|
|
933
|
+
}
|
|
934
|
+
/** Configuration for a single device trigger (device → agent) */
|
|
935
|
+
export interface DeviceTriggerConfig {
|
|
936
|
+
/** Description of when this trigger fires */
|
|
937
|
+
description: string;
|
|
938
|
+
/** Zod schema for trigger payload validation */
|
|
939
|
+
payloadSchema?: ZodType;
|
|
940
|
+
/**
|
|
941
|
+
* Handler that runs on lua-core when the device fires this trigger.
|
|
942
|
+
* Has full access to agent context (can call agent.chat(), use tools, etc.)
|
|
943
|
+
*/
|
|
944
|
+
execute?: (payload: any, context: {
|
|
945
|
+
agent: any;
|
|
946
|
+
device: any;
|
|
947
|
+
trigger: any;
|
|
948
|
+
}) => Promise<any>;
|
|
949
|
+
}
|
|
950
|
+
/**
|
|
951
|
+
* Configuration for defining a device that an agent can communicate with.
|
|
952
|
+
*
|
|
953
|
+
* @example
|
|
954
|
+
* ```typescript
|
|
955
|
+
* import { defineDevice } from 'lua-cli';
|
|
956
|
+
* import { z } from 'zod';
|
|
957
|
+
*
|
|
958
|
+
* export const printer = defineDevice({
|
|
959
|
+
* name: 'label-printer',
|
|
960
|
+
* description: 'Thermal label printer on Raspberry Pi',
|
|
961
|
+
* group: 'printers',
|
|
962
|
+
* commands: {
|
|
963
|
+
* print: {
|
|
964
|
+
* description: 'Print a label',
|
|
965
|
+
* inputSchema: z.object({ text: z.string(), copies: z.number().default(1) }),
|
|
966
|
+
* retry: { maxAttempts: 3, backoffMs: 1000 },
|
|
967
|
+
* timeoutMs: 30000,
|
|
968
|
+
* },
|
|
969
|
+
* status: {
|
|
970
|
+
* description: 'Get printer status',
|
|
971
|
+
* timeoutMs: 5000,
|
|
972
|
+
* },
|
|
973
|
+
* },
|
|
974
|
+
* triggers: {
|
|
975
|
+
* paper_low: {
|
|
976
|
+
* description: 'Fired when paper level drops below threshold',
|
|
977
|
+
* payloadSchema: z.object({ level: z.number(), threshold: z.number() }),
|
|
978
|
+
* execute: async (payload, { agent }) => {
|
|
979
|
+
* await agent.chat(\`Printer paper low: \${payload.level}%\`);
|
|
980
|
+
* },
|
|
981
|
+
* },
|
|
982
|
+
* },
|
|
983
|
+
* });
|
|
984
|
+
* ```
|
|
985
|
+
*/
|
|
986
|
+
export interface LuaDeviceConfig {
|
|
987
|
+
/** Unique device name (lowercase, hyphens, e.g., 'label-printer') */
|
|
988
|
+
name: string;
|
|
989
|
+
/** Description of the device */
|
|
990
|
+
description?: string;
|
|
991
|
+
/** Optional group name for fan-out commands (e.g., 'printers') */
|
|
992
|
+
group?: string;
|
|
993
|
+
/** Commands the agent can send to the device */
|
|
994
|
+
commands?: Record<string, DeviceCommandConfig>;
|
|
995
|
+
/** Triggers the device can fire to the agent */
|
|
996
|
+
triggers?: Record<string, DeviceTriggerConfig>;
|
|
997
|
+
}
|
|
998
|
+
/**
|
|
999
|
+
* LuaDevice class — represents an external device that an agent can communicate with.
|
|
1000
|
+
*
|
|
1001
|
+
* Used in two ways:
|
|
1002
|
+
* - Class-based: `export default new LuaDevice({ ... })`
|
|
1003
|
+
* - Function-based: `export const myDevice = defineDevice({ ... })` (preferred)
|
|
1004
|
+
*/
|
|
1005
|
+
export declare class LuaDevice {
|
|
1006
|
+
readonly name: string;
|
|
1007
|
+
readonly description: string;
|
|
1008
|
+
readonly group?: string;
|
|
1009
|
+
readonly commands: Record<string, DeviceCommandConfig>;
|
|
1010
|
+
readonly triggers: Record<string, DeviceTriggerConfig>;
|
|
1011
|
+
constructor(config: LuaDeviceConfig);
|
|
914
1012
|
}
|
|
915
1013
|
//# sourceMappingURL=skill.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"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"}
|
package/dist/types/skill.js
CHANGED
|
@@ -584,6 +584,7 @@ export class LuaAgent {
|
|
|
584
584
|
* @param config.preProcessors - Optional array of preprocessors
|
|
585
585
|
* @param config.postProcessors - Optional array of postprocessors
|
|
586
586
|
* @param config.mcpServers - Optional array of MCP servers
|
|
587
|
+
* @param config.devices - Optional array of devices (external hardware)
|
|
587
588
|
* @param config.batching - Optional per-agent batching/debounce configuration
|
|
588
589
|
*/
|
|
589
590
|
constructor(config) {
|
|
@@ -596,6 +597,7 @@ export class LuaAgent {
|
|
|
596
597
|
this.preProcessors = config.preProcessors || [];
|
|
597
598
|
this.postProcessors = config.postProcessors || [];
|
|
598
599
|
this.mcpServers = config.mcpServers || [];
|
|
600
|
+
this.devices = config.devices || [];
|
|
599
601
|
this.batching = config.batching;
|
|
600
602
|
}
|
|
601
603
|
getName() {
|
|
@@ -628,5 +630,24 @@ export class LuaAgent {
|
|
|
628
630
|
getBatching() {
|
|
629
631
|
return this.batching;
|
|
630
632
|
}
|
|
633
|
+
getDevices() {
|
|
634
|
+
return this.devices;
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* LuaDevice class — represents an external device that an agent can communicate with.
|
|
639
|
+
*
|
|
640
|
+
* Used in two ways:
|
|
641
|
+
* - Class-based: `export default new LuaDevice({ ... })`
|
|
642
|
+
* - Function-based: `export const myDevice = defineDevice({ ... })` (preferred)
|
|
643
|
+
*/
|
|
644
|
+
export class LuaDevice {
|
|
645
|
+
constructor(config) {
|
|
646
|
+
this.name = config.name;
|
|
647
|
+
this.description = config.description || '';
|
|
648
|
+
this.group = config.group;
|
|
649
|
+
this.commands = config.commands || {};
|
|
650
|
+
this.triggers = config.triggers || {};
|
|
651
|
+
}
|
|
631
652
|
}
|
|
632
653
|
//# sourceMappingURL=skill.js.map
|
package/dist/types/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,13 @@ export interface YamlConfigMCPServer {
|
|
|
49
49
|
name: string;
|
|
50
50
|
mcpServerId: string;
|
|
51
51
|
}
|
|
52
|
+
export interface YamlConfigDevice {
|
|
53
|
+
name: string;
|
|
54
|
+
version: string;
|
|
55
|
+
deviceId: string;
|
|
56
|
+
group?: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
}
|
|
52
59
|
export interface YamlConfigBackup {
|
|
53
60
|
/** Hash of last pushed backup */
|
|
54
61
|
lastHash?: string;
|
|
@@ -64,6 +71,7 @@ export interface YamlConfig {
|
|
|
64
71
|
preprocessors?: YamlConfigPreprocessor[];
|
|
65
72
|
postprocessors?: YamlConfigPostprocessor[];
|
|
66
73
|
mcpServers?: YamlConfigMCPServer[];
|
|
74
|
+
devices?: YamlConfigDevice[];
|
|
67
75
|
/** Backup tracking information */
|
|
68
76
|
backup?: YamlConfigBackup;
|
|
69
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml.types.d.ts","sourceRoot":"","sources":["../../src/types/yaml.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACzC,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,kCAAkC;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B"}
|
|
1
|
+
{"version":3,"file":"yaml.types.d.ts","sourceRoot":"","sources":["../../src/types/yaml.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACzC,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,kCAAkC;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B"}
|
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
import type { CompilationManifest, ProjectFile } from '../compiler/types.js';
|
|
8
8
|
import type { BackupFileRef, BackupManifest } from '../interfaces/backup.js';
|
|
9
9
|
import type { YamlConfigBackup } from '../types/yaml.types.js';
|
|
10
|
+
export interface CachedBackupManifest {
|
|
11
|
+
lastHash: string;
|
|
12
|
+
lastPushedAt: string;
|
|
13
|
+
files: Array<{
|
|
14
|
+
relativePath: string;
|
|
15
|
+
hash: string;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
10
18
|
/**
|
|
11
19
|
* Calculate a hash for a string content.
|
|
12
20
|
*
|
|
@@ -122,6 +130,21 @@ export declare function isBackupOutOfSync(currentHash: string, tracking: YamlCon
|
|
|
122
130
|
* @returns YamlConfigBackup object for storing in YAML
|
|
123
131
|
*/
|
|
124
132
|
export declare function createBackupTracking(projectHash: string): YamlConfigBackup;
|
|
133
|
+
export declare function getBackupCachePath(projectPath?: string): string;
|
|
134
|
+
export declare function writeBackupManifestCache(cache: CachedBackupManifest, projectPath?: string): void;
|
|
135
|
+
export declare function readBackupManifestCache(projectPath?: string): CachedBackupManifest | null;
|
|
136
|
+
export type ConflictGuardWarning = 'no-tracking' | 'manifest-unavailable';
|
|
137
|
+
export interface ConflictGuardResult {
|
|
138
|
+
conflicts: string[];
|
|
139
|
+
warning: ConflictGuardWarning | null;
|
|
140
|
+
}
|
|
141
|
+
export declare function detectLocalConflictsForPull(incomingFiles: Array<{
|
|
142
|
+
relativePath: string;
|
|
143
|
+
hash: string;
|
|
144
|
+
}>, projectPath?: string): ConflictGuardResult;
|
|
145
|
+
export declare function fetchBackupManifestForPull(apiKey: string, agentId: string): Promise<{
|
|
146
|
+
fetched: BackupManifest | null;
|
|
147
|
+
}>;
|
|
125
148
|
/**
|
|
126
149
|
* Check whether a backup exists for the given agent.
|
|
127
150
|
* Returns availability status along with basic metadata if a backup is found.
|
|
@@ -136,17 +159,25 @@ export declare function checkBackupAvailability(apiKey: string, agentId: string)
|
|
|
136
159
|
lastPushedAt?: string;
|
|
137
160
|
}>;
|
|
138
161
|
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* @param apiKey - API key for authentication
|
|
143
|
-
* @param agentId - The agent whose backup to restore
|
|
144
|
-
* @param projectPath - Target directory for restored files (defaults to cwd)
|
|
145
|
-
* @returns Result object indicating success, file count, and any error message
|
|
162
|
+
* Result of a sync-driven backup restore. `filesWritten`/`filesUnchanged`
|
|
163
|
+
* reflect actual disk activity (byte-level compare), and the primitive lists
|
|
164
|
+
* tell the caller which drifted primitives the backup could resolve.
|
|
146
165
|
*/
|
|
147
|
-
export
|
|
166
|
+
export interface RestoreForSyncResult {
|
|
148
167
|
success: boolean;
|
|
149
|
-
|
|
168
|
+
filesWritten: number;
|
|
169
|
+
filesUnchanged: number;
|
|
170
|
+
primitivesResolved: string[];
|
|
171
|
+
primitivesUnresolved: string[];
|
|
172
|
+
backupAgeDays: number | null;
|
|
150
173
|
error?: string;
|
|
151
|
-
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Restore project source files from the S3 backup for `lua sync --pull`.
|
|
177
|
+
*
|
|
178
|
+
* Differs from `restoreProjectFromBackup` by byte-comparing before writing
|
|
179
|
+
* (so the caller can report what actually changed) and by classifying the
|
|
180
|
+
* restored files against `expectedPrimitives` to report backup coverage.
|
|
181
|
+
*/
|
|
182
|
+
export declare function restoreFromBackupForSync(apiKey: string, agentId: string, expectedPrimitives?: string[], projectPath?: string, preFetchedManifest?: BackupManifest | null): Promise<RestoreForSyncResult>;
|
|
152
183
|
//# sourceMappingURL=backup-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/backup-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"backup-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/backup-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAW7E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CASxE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAKxF;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,GAAE,MAAsB,GAClC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAerB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,MAAsB,GAClC,MAAM,GAAG,IAAI,CASf;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,GAAE,MAAsB,GAAG,aAAa,EAAE,CASpF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,GAAE,MAAsB,EACnC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EACtD,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAgBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,EAAE,CAI9E;AAwBD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoB9B;AAMD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,IAAI,CAwBN;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,GAChB;IACD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAkBA;AAMD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,OAAO,CAGT;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAK1E;AAMD,wBAAgB,kBAAkB,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAE9E;AAKD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,WAAW,GAAE,MAAsB,GAClC,IAAI,CASN;AAID,wBAAgB,uBAAuB,CACrC,WAAW,GAAE,MAAsB,GAClC,oBAAoB,GAAG,IAAI,CAqB7B;AAMD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,sBAAsB,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtC;AAGD,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5D,WAAW,GAAE,MAAsB,GAClC,mBAAmB,CAmDrB;AASD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;CAAE,CAAC,CAQ7C;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAeD;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,kBAAkB,GAAE,MAAM,EAAO,EACjC,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,cAAc,GAAG,IAAI,GACzC,OAAO,CAAC,oBAAoB,CAAC,CAiE/B"}
|
|
@@ -8,10 +8,24 @@ import fs from 'fs';
|
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import crypto from 'crypto';
|
|
10
10
|
import zlib from 'zlib';
|
|
11
|
+
// The compiler writes 16-char truncated SHA-256 hashes for project files into
|
|
12
|
+
// `manifest.projectFiles[].hash`. Those hashes flow into the backup manifest
|
|
13
|
+
// (via `prepareFileRefs`) and the local cache (via `writeBackupManifestCache`).
|
|
14
|
+
// For the conflict detector to compare like-with-like, disk hashes must use
|
|
15
|
+
// the same truncation. Importing the compiler's helper directly binds us to
|
|
16
|
+
// that single source of truth — if the compiler ever changes the format, the
|
|
17
|
+
// detector moves with it automatically. Do NOT swap this for the `hashContent`
|
|
18
|
+
// defined below in this file, which returns full 64-char hashes for a
|
|
19
|
+
// different purpose (project-level combined hash).
|
|
20
|
+
import { hashContent as hashProjectFile } from '../compiler/utils/common.js';
|
|
11
21
|
import { COMPILE_DIRS } from '../config/compile.constants.js';
|
|
12
22
|
import { loadManifest, hasCompilationOutput } from './artifact-loader.js';
|
|
13
23
|
import BackupApi from '../api/backup.api.service.js';
|
|
14
24
|
import { BASE_URLS } from '../config/constants.js';
|
|
25
|
+
// Cache records the file list + hashes from this machine's last successful
|
|
26
|
+
// `lua push backup`. The server does not expose historical manifests, so
|
|
27
|
+
// `lua sync --pull`'s conflict guard relies on this local record.
|
|
28
|
+
const BACKUP_CACHE_FILENAME = 'backup-manifest.json';
|
|
15
29
|
// =============================================================================
|
|
16
30
|
// HASH CALCULATION
|
|
17
31
|
// =============================================================================
|
|
@@ -306,8 +320,110 @@ export function createBackupTracking(projectHash) {
|
|
|
306
320
|
};
|
|
307
321
|
}
|
|
308
322
|
// =============================================================================
|
|
323
|
+
// LOCAL BACKUP MANIFEST CACHE
|
|
324
|
+
// =============================================================================
|
|
325
|
+
export function getBackupCachePath(projectPath = process.cwd()) {
|
|
326
|
+
return path.join(projectPath, '.lua', BACKUP_CACHE_FILENAME);
|
|
327
|
+
}
|
|
328
|
+
// Best-effort: a failed write must not fail the push that just succeeded
|
|
329
|
+
// on the server. A missing cache degrades `lua sync --pull` to its
|
|
330
|
+
// lenient "no-tracking" path.
|
|
331
|
+
export function writeBackupManifestCache(cache, projectPath = process.cwd()) {
|
|
332
|
+
const cachePath = getBackupCachePath(projectPath);
|
|
333
|
+
try {
|
|
334
|
+
fs.mkdirSync(path.dirname(cachePath), { recursive: true });
|
|
335
|
+
fs.writeFileSync(cachePath, JSON.stringify(cache, null, 2), 'utf-8');
|
|
336
|
+
}
|
|
337
|
+
catch (error) {
|
|
338
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
339
|
+
console.warn(`Could not write backup manifest cache: ${message}`);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Returns null when the cache is missing, unreadable, or malformed — the
|
|
343
|
+
// conflict guard treats null as the "no-tracking" signal.
|
|
344
|
+
export function readBackupManifestCache(projectPath = process.cwd()) {
|
|
345
|
+
const cachePath = getBackupCachePath(projectPath);
|
|
346
|
+
if (!fs.existsSync(cachePath))
|
|
347
|
+
return null;
|
|
348
|
+
try {
|
|
349
|
+
const raw = fs.readFileSync(cachePath, 'utf-8');
|
|
350
|
+
const parsed = JSON.parse(raw);
|
|
351
|
+
// Guard against hand-edits or version skew, not against our own writer.
|
|
352
|
+
if (typeof parsed.lastHash !== 'string' ||
|
|
353
|
+
typeof parsed.lastPushedAt !== 'string' ||
|
|
354
|
+
!Array.isArray(parsed.files) ||
|
|
355
|
+
!parsed.files.every((f) => f && typeof f.relativePath === 'string' && typeof f.hash === 'string')) {
|
|
356
|
+
return null;
|
|
357
|
+
}
|
|
358
|
+
return parsed;
|
|
359
|
+
}
|
|
360
|
+
catch {
|
|
361
|
+
return null;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
// Algorithm matches spec 2026-04-15-sync-pull-conflict-guard-design.md.
|
|
365
|
+
export function detectLocalConflictsForPull(incomingFiles, projectPath = process.cwd()) {
|
|
366
|
+
const cache = readBackupManifestCache(projectPath);
|
|
367
|
+
if (!cache) {
|
|
368
|
+
return { conflicts: [], warning: 'no-tracking' };
|
|
369
|
+
}
|
|
370
|
+
const cachedByPath = new Map(cache.files.map(f => [f.relativePath, f.hash]));
|
|
371
|
+
const conflicts = new Set();
|
|
372
|
+
const projectRoot = path.resolve(projectPath);
|
|
373
|
+
for (const incoming of incomingFiles) {
|
|
374
|
+
const absPath = path.resolve(projectRoot, incoming.relativePath);
|
|
375
|
+
// Defense-in-depth: skip manifest entries whose path escapes the project
|
|
376
|
+
// directory (e.g. via `../`). The restore step is the real vulnerability
|
|
377
|
+
// surface here; silently skipping keeps the guard from hashing arbitrary
|
|
378
|
+
// files outside the project.
|
|
379
|
+
if (absPath !== projectRoot && !absPath.startsWith(projectRoot + path.sep)) {
|
|
380
|
+
continue;
|
|
381
|
+
}
|
|
382
|
+
if (!fs.existsSync(absPath))
|
|
383
|
+
continue;
|
|
384
|
+
let diskHash;
|
|
385
|
+
try {
|
|
386
|
+
const bytes = fs.readFileSync(absPath, 'utf-8');
|
|
387
|
+
// Must match the compiler's hash format — the cache and server manifest
|
|
388
|
+
// both contain 16-char truncated hashes (see hashProjectFile import above).
|
|
389
|
+
diskHash = hashProjectFile(bytes);
|
|
390
|
+
}
|
|
391
|
+
catch {
|
|
392
|
+
// Unreadable: flag as conflict so we don't silently overwrite.
|
|
393
|
+
conflicts.add(incoming.relativePath);
|
|
394
|
+
continue;
|
|
395
|
+
}
|
|
396
|
+
const cachedHash = cachedByPath.get(incoming.relativePath);
|
|
397
|
+
if (cachedHash !== undefined) {
|
|
398
|
+
if (diskHash !== cachedHash) {
|
|
399
|
+
conflicts.add(incoming.relativePath);
|
|
400
|
+
}
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
403
|
+
// Not in local cache — user created this file or pushed from a
|
|
404
|
+
// different machine. Flag only if pulling would actually change it.
|
|
405
|
+
if (diskHash !== incoming.hash) {
|
|
406
|
+
conflicts.add(incoming.relativePath);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return { conflicts: [...conflicts].sort(), warning: null };
|
|
410
|
+
}
|
|
411
|
+
// =============================================================================
|
|
309
412
|
// SYNC HELPERS
|
|
310
413
|
// =============================================================================
|
|
414
|
+
// Fetch the current backup manifest for sync's pre-pull conflict guard.
|
|
415
|
+
// Returns `fetched: null` when the request fails so the caller can warn
|
|
416
|
+
// about lenient-mode fallback without pattern-matching on exceptions.
|
|
417
|
+
export async function fetchBackupManifestForPull(apiKey, agentId) {
|
|
418
|
+
try {
|
|
419
|
+
const backupApi = new BackupApi(BASE_URLS.API, apiKey, agentId);
|
|
420
|
+
const response = await backupApi.getBackupManifest();
|
|
421
|
+
return { fetched: response.data ?? null };
|
|
422
|
+
}
|
|
423
|
+
catch {
|
|
424
|
+
return { fetched: null };
|
|
425
|
+
}
|
|
426
|
+
}
|
|
311
427
|
/**
|
|
312
428
|
* Check whether a backup exists for the given agent.
|
|
313
429
|
* Returns availability status along with basic metadata if a backup is found.
|
|
@@ -334,35 +450,131 @@ export async function checkBackupAvailability(apiKey, agentId) {
|
|
|
334
450
|
}
|
|
335
451
|
}
|
|
336
452
|
/**
|
|
337
|
-
* Restore project source files from the S3 backup
|
|
338
|
-
* Downloads all blobs referenced in the backup manifest and writes them to disk.
|
|
453
|
+
* Restore project source files from the S3 backup for `lua sync --pull`.
|
|
339
454
|
*
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
*
|
|
343
|
-
* @returns Result object indicating success, file count, and any error message
|
|
455
|
+
* Differs from `restoreProjectFromBackup` by byte-comparing before writing
|
|
456
|
+
* (so the caller can report what actually changed) and by classifying the
|
|
457
|
+
* restored files against `expectedPrimitives` to report backup coverage.
|
|
344
458
|
*/
|
|
345
|
-
export async function restoreFromBackupForSync(apiKey, agentId, projectPath) {
|
|
459
|
+
export async function restoreFromBackupForSync(apiKey, agentId, expectedPrimitives = [], projectPath, preFetchedManifest) {
|
|
346
460
|
const targetDir = projectPath || process.cwd();
|
|
347
461
|
try {
|
|
348
462
|
const backupApi = new BackupApi(BASE_URLS.API, apiKey, agentId);
|
|
349
|
-
const
|
|
350
|
-
|
|
351
|
-
|
|
463
|
+
const manifest = preFetchedManifest
|
|
464
|
+
?? (await backupApi.getBackupManifest()).data
|
|
465
|
+
?? null;
|
|
466
|
+
if (!manifest || !manifest.files?.length) {
|
|
467
|
+
return {
|
|
468
|
+
success: false,
|
|
469
|
+
filesWritten: 0,
|
|
470
|
+
filesUnchanged: 0,
|
|
471
|
+
primitivesResolved: [],
|
|
472
|
+
primitivesUnresolved: [...expectedPrimitives],
|
|
473
|
+
backupAgeDays: null,
|
|
474
|
+
error: 'No backup manifest found',
|
|
475
|
+
};
|
|
352
476
|
}
|
|
353
|
-
const manifest = manifestResponse.data;
|
|
354
477
|
const uniqueHashes = [...new Set(manifest.files.map(f => f.hash))];
|
|
355
478
|
const urlsResponse = await backupApi.getBlobUrls(uniqueHashes);
|
|
356
479
|
if (!urlsResponse.data) {
|
|
357
|
-
return {
|
|
480
|
+
return {
|
|
481
|
+
success: false,
|
|
482
|
+
filesWritten: 0,
|
|
483
|
+
filesUnchanged: 0,
|
|
484
|
+
primitivesResolved: [],
|
|
485
|
+
primitivesUnresolved: [...expectedPrimitives],
|
|
486
|
+
backupAgeDays: computeBackupAgeDays(manifest),
|
|
487
|
+
error: 'Failed to get download URLs',
|
|
488
|
+
};
|
|
358
489
|
}
|
|
359
490
|
const blobs = await downloadBlobsParallel(urlsResponse.data.urls, 10);
|
|
360
|
-
|
|
361
|
-
|
|
491
|
+
const { filesWritten, filesUnchanged, restoredContents } = writeBackupFilesWithByteCompare(manifest, blobs, targetDir);
|
|
492
|
+
const { resolved, unresolved } = classifyPrimitiveCoverage(expectedPrimitives, restoredContents);
|
|
493
|
+
return {
|
|
494
|
+
success: true,
|
|
495
|
+
filesWritten,
|
|
496
|
+
filesUnchanged,
|
|
497
|
+
primitivesResolved: resolved,
|
|
498
|
+
primitivesUnresolved: unresolved,
|
|
499
|
+
backupAgeDays: computeBackupAgeDays(manifest),
|
|
500
|
+
};
|
|
362
501
|
}
|
|
363
502
|
catch (error) {
|
|
364
503
|
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
365
|
-
return {
|
|
504
|
+
return {
|
|
505
|
+
success: false,
|
|
506
|
+
filesWritten: 0,
|
|
507
|
+
filesUnchanged: 0,
|
|
508
|
+
primitivesResolved: [],
|
|
509
|
+
primitivesUnresolved: [...expectedPrimitives],
|
|
510
|
+
backupAgeDays: null,
|
|
511
|
+
error: message,
|
|
512
|
+
};
|
|
366
513
|
}
|
|
367
514
|
}
|
|
515
|
+
/**
|
|
516
|
+
* Skip the write when disk bytes already match, so callers can distinguish
|
|
517
|
+
* "9 files restored" from "9 files matched disk, 0 written."
|
|
518
|
+
*/
|
|
519
|
+
function writeBackupFilesWithByteCompare(manifest, blobs, targetDir) {
|
|
520
|
+
let filesWritten = 0;
|
|
521
|
+
let filesUnchanged = 0;
|
|
522
|
+
const restoredContents = new Map();
|
|
523
|
+
for (const file of manifest.files) {
|
|
524
|
+
const content = blobs.get(file.hash);
|
|
525
|
+
if (!content) {
|
|
526
|
+
throw new Error(`Blob not found for hash: ${file.hash} (${file.relativePath})`);
|
|
527
|
+
}
|
|
528
|
+
restoredContents.set(file.relativePath, content);
|
|
529
|
+
const filePath = path.join(targetDir, file.relativePath);
|
|
530
|
+
if (fs.existsSync(filePath)) {
|
|
531
|
+
const existing = fs.readFileSync(filePath);
|
|
532
|
+
if (existing.equals(content)) {
|
|
533
|
+
filesUnchanged++;
|
|
534
|
+
continue;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
538
|
+
fs.writeFileSync(filePath, content);
|
|
539
|
+
filesWritten++;
|
|
540
|
+
}
|
|
541
|
+
return { filesWritten, filesUnchanged, restoredContents };
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Fuzzy "does the backup define this primitive?" check: match the name as a
|
|
545
|
+
* quoted string literal in any restored .ts/.tsx/.js/.jsx file. Avoids pulling
|
|
546
|
+
* in a TS parser for sync reporting; can mis-classify when a name is built from
|
|
547
|
+
* a variable or appears in a string literal that isn't a primitive declaration.
|
|
548
|
+
*/
|
|
549
|
+
function classifyPrimitiveCoverage(expected, restoredContents) {
|
|
550
|
+
if (expected.length === 0) {
|
|
551
|
+
return { resolved: [], unresolved: [] };
|
|
552
|
+
}
|
|
553
|
+
const haystack = Array.from(restoredContents.entries())
|
|
554
|
+
.filter(([relPath]) => /\.(ts|tsx|js|jsx)$/.test(relPath))
|
|
555
|
+
.map(([, buf]) => buf.toString('utf-8'))
|
|
556
|
+
.join('\n');
|
|
557
|
+
const resolved = [];
|
|
558
|
+
const unresolved = [];
|
|
559
|
+
for (const name of expected) {
|
|
560
|
+
const quoted = haystack.includes(`'${name}'`) ||
|
|
561
|
+
haystack.includes(`"${name}"`) ||
|
|
562
|
+
haystack.includes(`\`${name}\``);
|
|
563
|
+
if (quoted)
|
|
564
|
+
resolved.push(name);
|
|
565
|
+
else
|
|
566
|
+
unresolved.push(name);
|
|
567
|
+
}
|
|
568
|
+
return { resolved, unresolved };
|
|
569
|
+
}
|
|
570
|
+
function computeBackupAgeDays(manifest) {
|
|
571
|
+
const createdAt = manifest.createdAt;
|
|
572
|
+
if (!createdAt)
|
|
573
|
+
return null;
|
|
574
|
+
const created = new Date(createdAt).getTime();
|
|
575
|
+
if (!Number.isFinite(created))
|
|
576
|
+
return null;
|
|
577
|
+
const ageMs = Date.now() - created;
|
|
578
|
+
return Math.max(0, Math.floor(ageMs / (1000 * 60 * 60 * 24)));
|
|
579
|
+
}
|
|
368
580
|
//# sourceMappingURL=backup-helpers.js.map
|