skill-home 0.1.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 (106) hide show
  1. package/dist/cli/cmd_read.d.ts +3 -0
  2. package/dist/cli/cmd_read.d.ts.map +1 -0
  3. package/dist/cli/cmd_read.js +868 -0
  4. package/dist/cli/cmd_read.js.map +1 -0
  5. package/dist/fetch/db.d.ts +107 -0
  6. package/dist/fetch/db.d.ts.map +1 -0
  7. package/dist/fetch/db.js +433 -0
  8. package/dist/fetch/db.js.map +1 -0
  9. package/dist/fetch/domains.d.ts +51 -0
  10. package/dist/fetch/domains.d.ts.map +1 -0
  11. package/dist/fetch/domains.js +203 -0
  12. package/dist/fetch/domains.js.map +1 -0
  13. package/dist/fetch/errors.d.ts +11 -0
  14. package/dist/fetch/errors.d.ts.map +1 -0
  15. package/dist/fetch/errors.js +18 -0
  16. package/dist/fetch/errors.js.map +1 -0
  17. package/dist/fetch/index.d.ts +6 -0
  18. package/dist/fetch/index.d.ts.map +1 -0
  19. package/dist/fetch/index.js +5 -0
  20. package/dist/fetch/index.js.map +1 -0
  21. package/dist/fetch/paths.d.ts +6 -0
  22. package/dist/fetch/paths.d.ts.map +1 -0
  23. package/dist/fetch/paths.js +31 -0
  24. package/dist/fetch/paths.js.map +1 -0
  25. package/dist/help/index.d.ts +3 -0
  26. package/dist/help/index.d.ts.map +1 -0
  27. package/dist/help/index.js +2 -0
  28. package/dist/help/index.js.map +1 -0
  29. package/dist/help/lookup.d.ts +11 -0
  30. package/dist/help/lookup.d.ts.map +1 -0
  31. package/dist/help/lookup.js +52 -0
  32. package/dist/help/lookup.js.map +1 -0
  33. package/dist/index.d.ts +5 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +6 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/policy/care.d.ts +4 -0
  38. package/dist/policy/care.d.ts.map +1 -0
  39. package/dist/policy/care.js +12 -0
  40. package/dist/policy/care.js.map +1 -0
  41. package/dist/policy/category.d.ts +8 -0
  42. package/dist/policy/category.d.ts.map +1 -0
  43. package/dist/policy/category.js +44 -0
  44. package/dist/policy/category.js.map +1 -0
  45. package/dist/policy/index.d.ts +9 -0
  46. package/dist/policy/index.d.ts.map +1 -0
  47. package/dist/policy/index.js +6 -0
  48. package/dist/policy/index.js.map +1 -0
  49. package/dist/policy/item.d.ts +18 -0
  50. package/dist/policy/item.d.ts.map +1 -0
  51. package/dist/policy/item.js +81 -0
  52. package/dist/policy/item.js.map +1 -0
  53. package/dist/policy/ticket.d.ts +6 -0
  54. package/dist/policy/ticket.d.ts.map +1 -0
  55. package/dist/policy/ticket.js +25 -0
  56. package/dist/policy/ticket.js.map +1 -0
  57. package/dist/policy/wakewords.d.ts +15 -0
  58. package/dist/policy/wakewords.d.ts.map +1 -0
  59. package/dist/policy/wakewords.js +120 -0
  60. package/dist/policy/wakewords.js.map +1 -0
  61. package/dist/render/envelope.d.ts +6 -0
  62. package/dist/render/envelope.d.ts.map +1 -0
  63. package/dist/render/envelope.js +61 -0
  64. package/dist/render/envelope.js.map +1 -0
  65. package/dist/render/errors.d.ts +5 -0
  66. package/dist/render/errors.d.ts.map +1 -0
  67. package/dist/render/errors.js +10 -0
  68. package/dist/render/errors.js.map +1 -0
  69. package/dist/render/html.d.ts +13 -0
  70. package/dist/render/html.d.ts.map +1 -0
  71. package/dist/render/html.js +66 -0
  72. package/dist/render/html.js.map +1 -0
  73. package/dist/render/index.d.ts +8 -0
  74. package/dist/render/index.d.ts.map +1 -0
  75. package/dist/render/index.js +6 -0
  76. package/dist/render/index.js.map +1 -0
  77. package/dist/render/templates.d.ts +5 -0
  78. package/dist/render/templates.d.ts.map +1 -0
  79. package/dist/render/templates.js +68 -0
  80. package/dist/render/templates.js.map +1 -0
  81. package/dist/render/views.d.ts +83 -0
  82. package/dist/render/views.d.ts.map +1 -0
  83. package/dist/render/views.js +56 -0
  84. package/dist/render/views.js.map +1 -0
  85. package/package.json +32 -0
  86. package/templates/care_query.html +16 -0
  87. package/templates/care_receipt.html +16 -0
  88. package/templates/help.html +16 -0
  89. package/templates/inventory_records.html +16 -0
  90. package/templates/inventory_round.html +16 -0
  91. package/templates/item_detail.html +16 -0
  92. package/templates/item_receipt.html +16 -0
  93. package/templates/item_search.html +16 -0
  94. package/templates/item_update_receipt.html +16 -0
  95. package/templates/location_query.html +16 -0
  96. package/templates/location_receipt.html +16 -0
  97. package/templates/outfit_pick.html +16 -0
  98. package/templates/shopping_query.html +16 -0
  99. package/templates/shopping_receipt.html +16 -0
  100. package/templates/stats_alert.html +16 -0
  101. package/templates/stats_overview.html +16 -0
  102. package/templates/tag_query.html +16 -0
  103. package/templates/tag_receipt.html +16 -0
  104. package/templates/ticket_query.html +16 -0
  105. package/templates/ticket_receipt.html +16 -0
  106. package/templates/trip_receipt.html +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/fetch/db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { HomeDb } from './db.js';
2
+ export declare function addInventoryRecord(handle: HomeDb, scope: string, location: string | null, total: number): number;
3
+ export declare function listInventoryRecords(handle: HomeDb, limit?: number): Record<string, unknown>[];
4
+ export declare function listLocationNodes(handle: HomeDb): string[];
5
+ export declare function ensureLocationNode(handle: HomeDb, path: string): void;
6
+ export declare function listShopping(handle: HomeDb): Record<string, unknown>[];
7
+ export declare function addShopping(handle: HomeDb, name: string, quantity: number, routine: string | null): number;
8
+ export declare function checkShopping(handle: HomeDb, ids: number[]): number;
9
+ export declare function missingItems(handle: HomeDb): Record<string, unknown>[];
10
+ export declare function stockList(handle: HomeDb): Record<string, unknown>[];
11
+ export declare function setThreshold(handle: HomeDb, itemId: number, threshold: number): void;
12
+ export declare function listPurchases(handle: HomeDb, f: {
13
+ itemId?: number;
14
+ year?: string;
15
+ month?: string;
16
+ }): Record<string, unknown>[];
17
+ export declare function addPurchase(handle: HomeDb, itemId: number, date: string, price: number | null, channel: string | null, scene: string | null): number;
18
+ export declare function purchaseYearStats(handle: HomeDb, year: string): {
19
+ count: number;
20
+ total: number;
21
+ };
22
+ export declare function listWarranties(handle: HomeDb, status?: string): Record<string, unknown>[];
23
+ export declare function addWarranty(handle: HomeDb, itemId: number, kind: string, startDate: string, durationDays: number, scene: string | null): number;
24
+ export declare function addServiceEvent(handle: HomeDb, warrantyId: number, date: string, cost: number | null, scene: string | null): number;
25
+ export declare function listCerts(handle: HomeDb): Record<string, unknown>[];
26
+ export declare function addCert(handle: HomeDb, type: string, expiresAt: string, holder: string | null, number: string | null, photo: string | null, scene: string | null): number;
27
+ export declare function listAccounts(handle: HomeDb): {
28
+ platform: string;
29
+ username: string;
30
+ type: string;
31
+ }[];
32
+ export declare function listMembers(handle: HomeDb): Record<string, unknown>[];
33
+ export declare function addMember(handle: HomeDb, name: string, relation: string | null): number;
34
+ export declare function listBorrows(handle: HomeDb): Record<string, unknown>[];
35
+ export declare function addBorrow(handle: HomeDb, itemId: number | null, member: string, action: string, date: string): number;
36
+ export declare function statsOverview(handle: HomeDb): Record<string, number>;
37
+ export declare function highFreq(handle: HomeDb, limit?: number): {
38
+ id: number;
39
+ name: string;
40
+ count: number;
41
+ }[];
42
+ export declare function idleItems(handle: HomeDb, days: number): {
43
+ id: number;
44
+ name: string;
45
+ }[];
46
+ export declare function expiringItems(handle: HomeDb, days: number, expiredOnly: boolean): {
47
+ item_id: number;
48
+ location: string;
49
+ expiration_date: string;
50
+ }[];
51
+ //# sourceMappingURL=domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/fetch/domains.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ import { HomeFetchError } from './errors.js';
2
+ function q(handle, sql, ...args) {
3
+ try {
4
+ return handle.db.prepare(sql).all(...args);
5
+ }
6
+ catch (e) {
7
+ throw new HomeFetchError('HOME_DB_UNREADABLE', '域表读取失败', { cause: e });
8
+ }
9
+ }
10
+ function run(handle, sql, ...args) {
11
+ try {
12
+ handle.db.prepare(sql).run(...args);
13
+ }
14
+ catch (e) {
15
+ throw new HomeFetchError('HOME_DB_UNREADABLE', '域表写入失败', { cause: e });
16
+ }
17
+ }
18
+ function one(handle, sql, ...args) {
19
+ try {
20
+ return handle.db.prepare(sql).get(...args);
21
+ }
22
+ catch (e) {
23
+ throw new HomeFetchError('HOME_DB_UNREADABLE', '域表读取失败', { cause: e });
24
+ }
25
+ }
26
+ // ---- 盘点 ----
27
+ export function addInventoryRecord(handle, scope, location, total) {
28
+ run(handle, 'INSERT INTO inventory_records (scope, location, total) VALUES (?,?,?)', scope, location, total);
29
+ const r = one(handle, 'SELECT last_insert_rowid() AS id');
30
+ return r.id;
31
+ }
32
+ export function listInventoryRecords(handle, limit = 20) {
33
+ return q(handle, 'SELECT * FROM inventory_records ORDER BY id DESC LIMIT ?', limit);
34
+ }
35
+ // ---- 位置节点 ----
36
+ export function listLocationNodes(handle) {
37
+ return q(handle, 'SELECT path FROM location_nodes ORDER BY path').map((r) => String(r.path));
38
+ }
39
+ export function ensureLocationNode(handle, path) {
40
+ run(handle, 'INSERT OR IGNORE INTO location_nodes (path) VALUES (?)', path);
41
+ }
42
+ // ---- 购物 ----
43
+ export function listShopping(handle) {
44
+ return q(handle, 'SELECT * FROM shopping_items ORDER BY id');
45
+ }
46
+ export function addShopping(handle, name, quantity, routine) {
47
+ if (!name.trim())
48
+ throw new HomeFetchError('HOME_BAD_QUERY', '购物项须给 name');
49
+ run(handle, 'INSERT INTO shopping_items (name, quantity, routine) VALUES (?,?,?)', name.trim(), quantity, routine);
50
+ return one(handle, 'SELECT last_insert_rowid() AS id').id;
51
+ }
52
+ export function checkShopping(handle, ids) {
53
+ let n = 0;
54
+ for (const id of ids) {
55
+ run(handle, 'UPDATE shopping_items SET checked=1 WHERE id=?', id);
56
+ n++;
57
+ }
58
+ return n;
59
+ }
60
+ export function missingItems(handle) {
61
+ // 缺货:有阈值且总量 < 阈值
62
+ return q(handle, `SELECT i.id, i.name, ifnull(sum(l.quantity),0) AS qty, s.threshold
63
+ FROM items i JOIN stock_thresholds s ON s.item_id=i.id LEFT JOIN item_locations l ON l.item_id=i.id
64
+ GROUP BY i.id HAVING qty < s.threshold`);
65
+ }
66
+ export function stockList(handle) {
67
+ return q(handle, `SELECT i.id, i.name, ifnull(sum(l.quantity),0) AS qty, s.threshold
68
+ FROM items i LEFT JOIN item_locations l ON l.item_id=i.id LEFT JOIN stock_thresholds s ON s.item_id=i.id
69
+ GROUP BY i.id ORDER BY i.name`);
70
+ }
71
+ export function setThreshold(handle, itemId, threshold) {
72
+ if (!Number.isInteger(threshold) || threshold < 0)
73
+ throw new HomeFetchError('HOME_BAD_QUERY', 'threshold 须为非负整数');
74
+ run(handle, 'INSERT INTO stock_thresholds (item_id, threshold) VALUES (?,?) ON CONFLICT(item_id) DO UPDATE SET threshold=excluded.threshold', itemId, threshold);
75
+ }
76
+ // ---- 票据:purchase/warranty/cert/account ----
77
+ export function listPurchases(handle, f) {
78
+ let sql = 'SELECT * FROM purchase_records WHERE 1=1';
79
+ const args = [];
80
+ if (f.itemId !== undefined) {
81
+ sql += ' AND item_id=?';
82
+ args.push(f.itemId);
83
+ }
84
+ if (f.year !== undefined) {
85
+ sql += ' AND substr(date,1,4)=?';
86
+ args.push(f.year);
87
+ }
88
+ if (f.month !== undefined) {
89
+ sql += ' AND substr(date,6,2)=?';
90
+ args.push(f.month);
91
+ }
92
+ sql += ' ORDER BY date DESC LIMIT 100';
93
+ return q(handle, sql, ...args);
94
+ }
95
+ export function addPurchase(handle, itemId, date, price, channel, scene) {
96
+ run(handle, 'INSERT INTO purchase_records (item_id, date, price, channel, scene) VALUES (?,?,?,?,?)', itemId, date, price, channel, scene);
97
+ return one(handle, 'SELECT last_insert_rowid() AS id').id;
98
+ }
99
+ export function purchaseYearStats(handle, year) {
100
+ const r = one(handle, 'SELECT count(*) AS c, ifnull(sum(price),0) AS t FROM purchase_records WHERE substr(date,1,4)=?', year);
101
+ return { count: r?.c ?? 0, total: r?.t ?? 0 };
102
+ }
103
+ export function listWarranties(handle, status) {
104
+ const rows = q(handle, 'SELECT * FROM warranties ORDER BY start_date DESC LIMIT 100');
105
+ if (!status || status === '全部')
106
+ return rows;
107
+ const now = new Date().toISOString().slice(0, 10);
108
+ return rows.filter((r) => {
109
+ const start = String(r.start_date);
110
+ const days = Number(r.duration_days);
111
+ const end = new Date(start);
112
+ end.setDate(end.getDate() + days);
113
+ const endS = end.toISOString().slice(0, 10);
114
+ const remain = (new Date(endS).getTime() - new Date(now).getTime()) / 86400000;
115
+ const st = remain < 0 ? '已过' : remain <= 30 ? '即将到期' : '在保';
116
+ return st === status;
117
+ });
118
+ }
119
+ export function addWarranty(handle, itemId, kind, startDate, durationDays, scene) {
120
+ if (!['保修', '保养'].includes(kind))
121
+ throw new HomeFetchError('HOME_BAD_QUERY', 'kind 须 保修/保养');
122
+ if (!Number.isInteger(durationDays) || durationDays <= 0)
123
+ throw new HomeFetchError('HOME_BAD_QUERY', 'duration-days 须为正整数');
124
+ run(handle, 'INSERT INTO warranties (item_id, kind, start_date, duration_days, scene) VALUES (?,?,?,?,?)', itemId, kind, startDate, durationDays, scene);
125
+ return one(handle, 'SELECT last_insert_rowid() AS id').id;
126
+ }
127
+ export function addServiceEvent(handle, warrantyId, date, cost, scene) {
128
+ const hit = one(handle, 'SELECT id FROM warranties WHERE id=?', warrantyId);
129
+ if (!hit)
130
+ throw new HomeFetchError('HOME_BAD_QUERY', '无此保修:' + warrantyId);
131
+ run(handle, 'INSERT INTO service_events (warranty_id, date, cost, scene) VALUES (?,?,?,?)', warrantyId, date, cost, scene);
132
+ return one(handle, 'SELECT last_insert_rowid() AS id').id;
133
+ }
134
+ export function listCerts(handle) {
135
+ return q(handle, 'SELECT id, type, expires_at, holder FROM certificates ORDER BY expires_at LIMIT 100');
136
+ }
137
+ export function addCert(handle, type, expiresAt, holder, number, photo, scene) {
138
+ run(handle, 'INSERT INTO certificates (type, expires_at, holder, number, photo, scene) VALUES (?,?,?,?,?,?)', type, expiresAt, holder, number, photo, scene);
139
+ return one(handle, 'SELECT last_insert_rowid() AS id').id;
140
+ }
141
+ export function listAccounts(handle) {
142
+ return q(handle, 'SELECT platform, username, type FROM accounts ORDER BY platform').map((r) => ({
143
+ platform: String(r.platform), username: String(r.username), type: String(r.type),
144
+ }));
145
+ }
146
+ // ---- 家庭协作 ----
147
+ export function listMembers(handle) {
148
+ return q(handle, 'SELECT * FROM family_members ORDER BY name');
149
+ }
150
+ export function addMember(handle, name, relation) {
151
+ if (!name.trim())
152
+ throw new HomeFetchError('HOME_BAD_QUERY', '家人须给 name');
153
+ run(handle, 'INSERT OR IGNORE INTO family_members (name, relation) VALUES (?,?)', name.trim(), relation);
154
+ const hit = one(handle, 'SELECT id FROM family_members WHERE name=?', name.trim());
155
+ if (!hit)
156
+ throw new HomeFetchError('HOME_DB_UNREADABLE', '家人写入失败');
157
+ return hit.id;
158
+ }
159
+ export function listBorrows(handle) {
160
+ return q(handle, 'SELECT * FROM borrow_records ORDER BY id DESC LIMIT 50');
161
+ }
162
+ export function addBorrow(handle, itemId, member, action, date) {
163
+ run(handle, 'INSERT INTO borrow_records (item_id, member, action, date) VALUES (?,?,?,?)', itemId, member, action, date);
164
+ return one(handle, 'SELECT last_insert_rowid() AS id').id;
165
+ }
166
+ // ---- 统计 ----
167
+ export function statsOverview(handle) {
168
+ const items = one(handle, 'SELECT count(*) AS c FROM items').c;
169
+ const locs = one(handle, 'SELECT count(*) AS c, ifnull(sum(quantity),0) AS q FROM item_locations');
170
+ const tags = one(handle, 'SELECT count(DISTINCT tag) AS c FROM item_tags').c;
171
+ const cats = one(handle, 'SELECT count(*) AS c FROM categories WHERE is_active=1').c;
172
+ return { items, locations: locs.c, quantity: locs.q, tags, categories: cats };
173
+ }
174
+ export function highFreq(handle, limit = 10) {
175
+ return handle.db.prepare('SELECT id, name, access_count AS count FROM items ORDER BY access_count DESC LIMIT ?').all(limit);
176
+ }
177
+ export function idleItems(handle, days) {
178
+ const cutoff = new Date();
179
+ cutoff.setDate(cutoff.getDate() - days);
180
+ const cut = cutoff.toISOString();
181
+ try {
182
+ return handle.db.prepare('SELECT id, name FROM items WHERE (last_accessed_at IS NULL OR last_accessed_at < ?) ORDER BY last_accessed_at LIMIT 50').all(cut);
183
+ }
184
+ catch (e) {
185
+ throw new HomeFetchError('HOME_DB_UNREADABLE', '闲置查询失败', { cause: e });
186
+ }
187
+ }
188
+ export function expiringItems(handle, days, expiredOnly) {
189
+ const today = new Date().toISOString().slice(0, 10);
190
+ const end = new Date();
191
+ end.setDate(end.getDate() + days);
192
+ const endS = end.toISOString().slice(0, 10);
193
+ try {
194
+ if (expiredOnly) {
195
+ return handle.db.prepare('SELECT item_id, location, expiration_date FROM item_locations WHERE expiration_date IS NOT NULL AND expiration_date < ? ORDER BY expiration_date LIMIT 50').all(today);
196
+ }
197
+ return handle.db.prepare('SELECT item_id, location, expiration_date FROM item_locations WHERE expiration_date IS NOT NULL AND expiration_date <= ? ORDER BY expiration_date LIMIT 50').all(endS);
198
+ }
199
+ catch (e) {
200
+ throw new HomeFetchError('HOME_DB_UNREADABLE', '过期查询失败', { cause: e });
201
+ }
202
+ }
203
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/fetch/domains.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare class HomeFetchError extends Error {
2
+ readonly code: 'HOME_DB_MISSING' | 'HOME_DB_UNREADABLE' | 'HOME_ITEM_NOT_FOUND' | 'HOME_BAD_QUERY' | 'HOME_EMPTY_RANGE' | 'HOME_ACCOUNT_MISSING' | 'HOME_ACCOUNT_BAD_KEY';
3
+ constructor(code: HomeFetchError['code'], message: string, options?: {
4
+ cause?: unknown;
5
+ });
6
+ }
7
+ export declare class HomePolicyError extends Error {
8
+ readonly code: 'POLICY_NO_MATCH' | 'POLICY_MISSING_SLOT' | 'POLICY_BAD_CATEGORY' | 'POLICY_BAD_LOCATION' | 'POLICY_BAD_STATUS' | 'POLICY_BAD_DATE' | 'POLICY_BAD_INPUT';
9
+ constructor(code: HomePolicyError['code'], message: string);
10
+ }
11
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/fetch/errors.ts"],"names":[],"mappings":"AACA,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EACT,iBAAiB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,gBAAgB,GACnF,kBAAkB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;gBAC7D,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKzF;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EACT,iBAAiB,GAAG,qBAAqB,GAAG,qBAAqB,GACjE,qBAAqB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;gBAC7E,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAK3D"}
@@ -0,0 +1,18 @@
1
+ // 取数/口径错误:坏输入与缺失一律 throw,永不返空数组冒充正常。
2
+ export class HomeFetchError extends Error {
3
+ code;
4
+ constructor(code, message, options) {
5
+ super(message, options);
6
+ this.name = 'HomeFetchError';
7
+ this.code = code;
8
+ }
9
+ }
10
+ export class HomePolicyError extends Error {
11
+ code;
12
+ constructor(code, message) {
13
+ super(message);
14
+ this.name = 'HomePolicyError';
15
+ this.code = code;
16
+ }
17
+ }
18
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/fetch/errors.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAE4D;IACzE,YAAY,IAA4B,EAAE,OAAe,EAAE,OAA6B;QACtF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAE4E;IACzF,YAAY,IAA6B,EAAE,OAAe;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export { HomeFetchError, HomePolicyError } from './errors.js';
2
+ export { SCHEMA_VERSION, openHomeDb, closeHomeDb, addItem, getItemById, listLocationsByItem, listTagsByItem, searchItems, updateItem, adjustQuantity, setLocationStatus, moveLocation, setItemTags, listAllTags, mergeTags, listCategories, getCategoryById, encryptPassword, decryptPassword, assertMasterKey, } from './db.js';
3
+ export type { HomeItem, HomeLocation, HomeDb, SearchFilter } from './db.js';
4
+ export { resolveDbDir, resolveDbPath, assertWritablePath, DB_FILENAME } from './paths.js';
5
+ export { addInventoryRecord, listInventoryRecords, listLocationNodes, ensureLocationNode, listShopping, addShopping, checkShopping, missingItems, stockList, setThreshold, listPurchases, addPurchase, purchaseYearStats, listWarranties, addWarranty, addServiceEvent, listCerts, addCert, listAccounts, listMembers, addMember, listBorrows, addBorrow, statsOverview, highFreq, idleItems, expiringItems, } from './domains.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAC7D,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAC5E,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EACpE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GACnF,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EACL,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAC/E,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAC/E,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAC3F,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAChF,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,GAClD,MAAM,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { HomeFetchError, HomePolicyError } from './errors.js';
2
+ export { SCHEMA_VERSION, openHomeDb, closeHomeDb, addItem, getItemById, listLocationsByItem, listTagsByItem, searchItems, updateItem, adjustQuantity, setLocationStatus, moveLocation, setItemTags, listAllTags, mergeTags, listCategories, getCategoryById, encryptPassword, decryptPassword, assertMasterKey, } from './db.js';
3
+ export { resolveDbDir, resolveDbPath, assertWritablePath, DB_FILENAME } from './paths.js';
4
+ export { addInventoryRecord, listInventoryRecords, listLocationNodes, ensureLocationNode, listShopping, addShopping, checkShopping, missingItems, stockList, setThreshold, listPurchases, addPurchase, purchaseYearStats, listWarranties, addWarranty, addServiceEvent, listCerts, addCert, listAccounts, listMembers, addMember, listBorrows, addBorrow, statsOverview, highFreq, idleItems, expiringItems, } from './domains.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAC7D,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAC5E,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EACpE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GACnF,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EACL,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAC/E,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAC/E,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAC3F,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAChF,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,GAClD,MAAM,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const DB_FILENAME = "home.db";
2
+ export declare function resolveDbDir(): string;
3
+ export declare function resolveDbPath(filename?: string, dir?: string): string;
4
+ /** 测试隔离守卫:非 tmp 路径写库须 HOME_FORCE_PROD=1(卡路里哨兵语义的居家版)。 */
5
+ export declare function assertWritablePath(dbPath: string): void;
6
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/fetch/paths.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,wBAAgB,YAAY,IAAI,MAAM,CASrC;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAc,EAAE,GAAG,SAAiB,GAAG,MAAM,CAGlF;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAYvD"}
@@ -0,0 +1,31 @@
1
+ // DB 路径解析与隔离守卫:SKILLS_DB_PATH 必设,无默认值(铁律缺失阻断)。
2
+ // 老家 home_manager/db.py Q6 fallback 链(D:/.db 等)TS 线有意不继承:拒绝隐式写生产。
3
+ import { mkdirSync } from 'node:fs';
4
+ import { tmpdir } from 'node:os';
5
+ import { join, resolve } from 'node:path';
6
+ export const DB_FILENAME = 'home.db';
7
+ export function resolveDbDir() {
8
+ const env = process.env.SKILLS_DB_PATH;
9
+ if (!env) {
10
+ throw new Error('[skill-home] SKILLS_DB_PATH 未设置:拒绝隐式落盘。' +
11
+ '生产请设置 SKILLS_DB_PATH;测试请传显式 tmp 路径。');
12
+ }
13
+ return env;
14
+ }
15
+ export function resolveDbPath(filename = DB_FILENAME, dir = resolveDbDir()) {
16
+ mkdirSync(dir, { recursive: true });
17
+ return join(dir, filename);
18
+ }
19
+ /** 测试隔离守卫:非 tmp 路径写库须 HOME_FORCE_PROD=1(卡路里哨兵语义的居家版)。 */
20
+ export function assertWritablePath(dbPath) {
21
+ const forceProd = process.env.HOME_FORCE_PROD === '1';
22
+ const underTmp = resolve(dbPath).startsWith(resolve(tmpdir()));
23
+ if (!underTmp && !forceProd) {
24
+ throw new Error('[skill-home] 拒绝写入非 tmp 路径 ' + dbPath + ':测试隔离守卫。' +
25
+ '如确需生产写,请设置 HOME_FORCE_PROD=1(opt-in 可见)。');
26
+ }
27
+ if (!underTmp && forceProd) {
28
+ console.error('[skill-home] HOME_FORCE_PROD=1: 写入 ' + dbPath);
29
+ }
30
+ }
31
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/fetch/paths.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,kEAAkE;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AAErC,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,yCAAyC;YACvC,qCAAqC,CACxC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAQ,GAAG,WAAW,EAAE,GAAG,GAAG,YAAY,EAAE;IACxE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,MAAM,GAAG,UAAU;YAChD,0CAA0C,CAC7C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,MAAM,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { buildHelpLookup, lookupHelp } from './lookup.js';
2
+ export type { HelpHit } from './lookup.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/help/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { buildHelpLookup, lookupHelp } from './lookup.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/help/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type HomeKey } from '../policy/index.js';
2
+ export interface HelpHit {
3
+ phrase: string;
4
+ key: HomeKey;
5
+ shape: string;
6
+ cli: string;
7
+ desc: string;
8
+ }
9
+ export declare function buildHelpLookup(): HelpHit[];
10
+ export declare function lookupHelp(hits: HelpHit[], word: string): HelpHit[];
11
+ //# sourceMappingURL=lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/help/lookup.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG9D,MAAM,WAAW,OAAO;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AAsCpG,wBAAgB,eAAe,IAAI,OAAO,EAAE,CAQ3C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAGnE"}
@@ -0,0 +1,52 @@
1
+ // HELP 速查:WAKE_TABLE 唯一上游;短语→key/cli/一句话。构建期注入 SKILL.md(scripts/build-help.mjs)。
2
+ import { WAKE_TABLE } from '../policy/index.js';
3
+ import { HOME_KEY_SHAPES } from '../render/index.js';
4
+ function exampleParams(e) {
5
+ const p = { ...(e.preset || {}) };
6
+ for (const n of e.needs || []) {
7
+ if (p[n] === undefined) {
8
+ p[n] = n === 'id' ? 1 : n === 'from' ? '旧' : n === 'to' ? '新' : '<值>';
9
+ }
10
+ }
11
+ const keys = Object.keys(p);
12
+ return keys.length ? ' --params \'' + JSON.stringify(p) + '\'' : '';
13
+ }
14
+ const DESCS = {
15
+ 'home.item.search': '搜物品(名称/位置/标签/分类,紧急定位/筛选/图搜/查重复)',
16
+ 'home.item.detail': '看单品详情(含历史/照片/照片墙 view 分流,须 id)',
17
+ 'home.item.add': '录物品 op=single/batch/backfill(含拍物品一次写入)',
18
+ 'home.item.update': '改物品 op=generic/move/qty/status/tags/merge/undo/relate/photo(须 id)',
19
+ 'home.tag.query': '看标签(标签总览 + 分类树)',
20
+ 'home.tag.write': '管标签/管分类/合标签/整理建议 op 分流',
21
+ 'home.inventory.round': '盘点核对 op=round/resolve/move(按位置/分类/全屋)',
22
+ 'home.inventory.records': '盘点记录(复查入口)',
23
+ 'home.location.query': '位置查 mode=manage/space/suggest/find/storage',
24
+ 'home.location.write': '位置改 op=manage/fixed(含固定位锚定)',
25
+ 'home.outfit.pick': '穿搭推荐 kind=pick/wardrobe/season/trip-plan',
26
+ 'home.trip.manage': '出行清单 mode=pack/return(旅游中↔在家)',
27
+ 'home.stats.overview': '总体统计 kind=summary/inventory(状态/分类/价值/高频 TOP)',
28
+ 'home.stats.alert': '闲置/过期 kind=idle/expiring',
29
+ 'home.shopping.query': '购物查 kind=list/missing/stock/express',
30
+ 'home.shopping.write': '购物改 op=list-add/list-check/missing-to-list/stock-threshold/stock-fix/express-confirm',
31
+ 'home.ticket.query': '票据查 kind=purchase/warranty/cert/account',
32
+ 'home.ticket.write': '票据改 kind+op(购买/保修/证件/账号,账号须 master-key)',
33
+ 'home.care.query': '协作查 kind=borrow/member/firstuse-status/lint/backup-list',
34
+ 'home.care.write': '协作改 kind=init/backup/export/import/borrow/member(幂等可重试)',
35
+ 'home.help.lookup': 'HELP 现找(q 可空,不过滤即全表)',
36
+ };
37
+ // 全量速查表(WAKE_TABLE 有几条就有几行)。
38
+ export function buildHelpLookup() {
39
+ return WAKE_TABLE.map((e) => ({
40
+ phrase: e.phrase,
41
+ key: e.key,
42
+ shape: HOME_KEY_SHAPES[e.key] || '??',
43
+ cli: 'home-cmd-read ' + e.key + exampleParams(e),
44
+ desc: DESCS[e.key] || '',
45
+ }));
46
+ }
47
+ export function lookupHelp(hits, word) {
48
+ if (!word || !word.trim())
49
+ return hits;
50
+ return hits.filter((h) => word.includes(h.phrase) || h.phrase.includes(word.trim()));
51
+ }
52
+ //# sourceMappingURL=lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/help/lookup.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAgB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,SAAS,aAAa,CAAC,CAAuE;IAC5F,MAAM,CAAC,GAA4B,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACxE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,KAAK,GAA2B;IACpC,kBAAkB,EAAE,iCAAiC;IACrD,kBAAkB,EAAE,gCAAgC;IACpD,eAAe,EAAE,wCAAwC;IACzD,kBAAkB,EAAE,mEAAmE;IACvF,gBAAgB,EAAE,iBAAiB;IACnC,gBAAgB,EAAE,wBAAwB;IAC1C,sBAAsB,EAAE,uCAAuC;IAC/D,wBAAwB,EAAE,YAAY;IACtC,qBAAqB,EAAE,4CAA4C;IACnE,qBAAqB,EAAE,6BAA6B;IACpD,kBAAkB,EAAE,0CAA0C;IAC9D,kBAAkB,EAAE,+BAA+B;IACnD,qBAAqB,EAAE,8CAA8C;IACrE,kBAAkB,EAAE,0BAA0B;IAC9C,qBAAqB,EAAE,qCAAqC;IAC5D,qBAAqB,EAAE,sFAAsF;IAC7G,mBAAmB,EAAE,yCAAyC;IAC9D,mBAAmB,EAAE,yCAAyC;IAC9D,iBAAiB,EAAE,yDAAyD;IAC5E,iBAAiB,EAAE,yDAAyD;IAC5E,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC;AAEF,6BAA6B;AAC7B,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI;QACrC,GAAG,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC;QAChD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAe,EAAE,IAAY;IACtD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './fetch/index.js';
2
+ export * from './policy/index.js';
3
+ export * from './render/index.js';
4
+ export * from './help/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ // skill-home 入口:取数层 + 口径层 + 渲染层;出口/SKILL 见 cmd_read 与 SKILL.md。
2
+ export * from './fetch/index.js';
3
+ export * from './policy/index.js';
4
+ export * from './render/index.js';
5
+ export * from './help/index.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const CARE_QUERY_KINDS: readonly ["borrow", "member", "firstuse", "lint", "backup-list"];
2
+ export declare const CARE_WRITE_KINDS: readonly ["borrow", "member", "init", "backup", "export", "import-preview", "import"];
3
+ export declare function parseCareKind(p: Record<string, unknown>, def: string): string;
4
+ //# sourceMappingURL=care.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"care.d.ts","sourceRoot":"","sources":["../../src/policy/care.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,kEAAmE,CAAC;AACjG,eAAO,MAAM,gBAAgB,uFAAwF,CAAC;AAEtH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7E"}
@@ -0,0 +1,12 @@
1
+ // 口径层·协作与运维校验(老家 家庭协作/family_ops.py + 开始使用/cli.py 对应)。
2
+ // care.query kind=borrow|member|firstuse|lint;care.write kind+op 分流;文件预告式。
3
+ import { HomePolicyError } from '../fetch/errors.js';
4
+ export const CARE_QUERY_KINDS = ['borrow', 'member', 'firstuse', 'lint', 'backup-list'];
5
+ export const CARE_WRITE_KINDS = ['borrow', 'member', 'init', 'backup', 'export', 'import-preview', 'import'];
6
+ export function parseCareKind(p, def) {
7
+ const k = (p.kind ?? def);
8
+ if (typeof k !== 'string' || !k)
9
+ throw new HomePolicyError('POLICY_BAD_INPUT', 'care 须给 kind');
10
+ return k;
11
+ }
12
+ //# sourceMappingURL=care.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"care.js","sourceRoot":"","sources":["../../src/policy/care.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,2EAA2E;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAU,CAAC;AACjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAU,CAAC;AAEtH,MAAM,UAAU,aAAa,CAAC,CAA0B,EAAE,GAAW;IACnE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAW,CAAC;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAC/F,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const HOME_TOPS: readonly ["食物与饮品", "衣物与穿戴", "家居与陈设", "工具与器材", "数码与电子", "健康与医药", "文体与娱乐", "资产与凭证"];
2
+ export type HomeTop = (typeof HOME_TOPS)[number];
3
+ export declare const HOME_STATUSES: readonly ["在家", "备用", "穿着中", "旅游中", "洗护中", "借用中", "维修中", "已用完", "快递中", "待处理", "已废弃"];
4
+ export declare function normalizeLocation(loc: unknown): string;
5
+ export declare function normalizeStatus(st: unknown): string;
6
+ export declare function isFoodItem(category: string | null, name: string): boolean;
7
+ export declare function validateCategoryName(name: unknown): string;
8
+ //# sourceMappingURL=category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/policy/category.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,mFAGZ,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,eAAO,MAAM,aAAa,sFAEhB,CAAC;AAKX,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAKnD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIzE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAQ1D"}