@lumenflow/packs-sidekick 3.6.6

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 (84) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +194 -0
  3. package/dist/constants.d.ts +8 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +10 -0
  6. package/dist/constants.js.map +1 -0
  7. package/dist/index.d.ts +6 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +8 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/manifest-schema.d.ts +48 -0
  12. package/dist/manifest-schema.d.ts.map +1 -0
  13. package/dist/manifest-schema.js +177 -0
  14. package/dist/manifest-schema.js.map +1 -0
  15. package/dist/manifest.d.ts +26 -0
  16. package/dist/manifest.d.ts.map +1 -0
  17. package/dist/manifest.js +297 -0
  18. package/dist/manifest.js.map +1 -0
  19. package/dist/pack-registration.d.ts +14 -0
  20. package/dist/pack-registration.d.ts.map +1 -0
  21. package/dist/pack-registration.js +79 -0
  22. package/dist/pack-registration.js.map +1 -0
  23. package/dist/tool-impl/channel-tools.d.ts +3 -0
  24. package/dist/tool-impl/channel-tools.d.ts.map +1 -0
  25. package/dist/tool-impl/channel-tools.js +169 -0
  26. package/dist/tool-impl/channel-tools.js.map +1 -0
  27. package/dist/tool-impl/index.d.ts +2 -0
  28. package/dist/tool-impl/index.d.ts.map +1 -0
  29. package/dist/tool-impl/index.js +4 -0
  30. package/dist/tool-impl/index.js.map +1 -0
  31. package/dist/tool-impl/memory-tools.d.ts +3 -0
  32. package/dist/tool-impl/memory-tools.d.ts.map +1 -0
  33. package/dist/tool-impl/memory-tools.js +137 -0
  34. package/dist/tool-impl/memory-tools.js.map +1 -0
  35. package/dist/tool-impl/routine-tools.d.ts +3 -0
  36. package/dist/tool-impl/routine-tools.d.ts.map +1 -0
  37. package/dist/tool-impl/routine-tools.js +145 -0
  38. package/dist/tool-impl/routine-tools.js.map +1 -0
  39. package/dist/tool-impl/shared.d.ts +34 -0
  40. package/dist/tool-impl/shared.d.ts.map +1 -0
  41. package/dist/tool-impl/shared.js +89 -0
  42. package/dist/tool-impl/shared.js.map +1 -0
  43. package/dist/tool-impl/storage.d.ts +87 -0
  44. package/dist/tool-impl/storage.d.ts.map +1 -0
  45. package/dist/tool-impl/storage.js +191 -0
  46. package/dist/tool-impl/storage.js.map +1 -0
  47. package/dist/tool-impl/system-tools.d.ts +3 -0
  48. package/dist/tool-impl/system-tools.d.ts.map +1 -0
  49. package/dist/tool-impl/system-tools.js +116 -0
  50. package/dist/tool-impl/system-tools.js.map +1 -0
  51. package/dist/tool-impl/task-tools.d.ts +3 -0
  52. package/dist/tool-impl/task-tools.d.ts.map +1 -0
  53. package/dist/tool-impl/task-tools.js +215 -0
  54. package/dist/tool-impl/task-tools.js.map +1 -0
  55. package/dist/tools/channel-tools.d.ts +4 -0
  56. package/dist/tools/channel-tools.d.ts.map +1 -0
  57. package/dist/tools/channel-tools.js +41 -0
  58. package/dist/tools/channel-tools.js.map +1 -0
  59. package/dist/tools/index.d.ts +7 -0
  60. package/dist/tools/index.d.ts.map +1 -0
  61. package/dist/tools/index.js +9 -0
  62. package/dist/tools/index.js.map +1 -0
  63. package/dist/tools/memory-tools.d.ts +4 -0
  64. package/dist/tools/memory-tools.d.ts.map +1 -0
  65. package/dist/tools/memory-tools.js +41 -0
  66. package/dist/tools/memory-tools.js.map +1 -0
  67. package/dist/tools/routine-tools.d.ts +4 -0
  68. package/dist/tools/routine-tools.d.ts.map +1 -0
  69. package/dist/tools/routine-tools.js +41 -0
  70. package/dist/tools/routine-tools.js.map +1 -0
  71. package/dist/tools/system-tools.d.ts +4 -0
  72. package/dist/tools/system-tools.d.ts.map +1 -0
  73. package/dist/tools/system-tools.js +36 -0
  74. package/dist/tools/system-tools.js.map +1 -0
  75. package/dist/tools/task-tools.d.ts +5 -0
  76. package/dist/tools/task-tools.d.ts.map +1 -0
  77. package/dist/tools/task-tools.js +48 -0
  78. package/dist/tools/task-tools.js.map +1 -0
  79. package/dist/tools/types.d.ts +40 -0
  80. package/dist/tools/types.d.ts.map +1 -0
  81. package/dist/tools/types.js +24 -0
  82. package/dist/tools/types.js.map +1 -0
  83. package/manifest.yaml +406 -0
  84. package/package.json +55 -0
@@ -0,0 +1,4 @@
1
+ export declare const memoryStoreDescriptor: import("./types.js").ToolDescriptor;
2
+ export declare const memoryRecallDescriptor: import("./types.js").ToolDescriptor;
3
+ export declare const memoryForgetDescriptor: import("./types.js").ToolDescriptor;
4
+ //# sourceMappingURL=memory-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../tools/memory-tools.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,qBAAqB,qCAMhC,CAAC;AAEH,eAAO,MAAM,sBAAsB,qCAMjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,qCAMjC,CAAC"}
@@ -0,0 +1,41 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { TOOL_PERMISSIONS, TOOL_SCOPE_ACCESS, TOOL_SCOPE_TYPES, createToolDescriptor, } from './types.js';
4
+ const MEMORY_READ_SCOPE = {
5
+ type: TOOL_SCOPE_TYPES.PATH,
6
+ pattern: '.sidekick/memory/**',
7
+ access: TOOL_SCOPE_ACCESS.READ,
8
+ };
9
+ const MEMORY_WRITE_SCOPE = {
10
+ type: TOOL_SCOPE_TYPES.PATH,
11
+ pattern: '.sidekick/memory/**',
12
+ access: TOOL_SCOPE_ACCESS.WRITE,
13
+ };
14
+ const AUDIT_WRITE_SCOPE = {
15
+ type: TOOL_SCOPE_TYPES.PATH,
16
+ pattern: '.sidekick/audit/**',
17
+ access: TOOL_SCOPE_ACCESS.WRITE,
18
+ };
19
+ const MEMORY_TOOLS_ENTRY = 'tool-impl/memory-tools.ts';
20
+ export const memoryStoreDescriptor = createToolDescriptor({
21
+ name: 'memory:store',
22
+ permission: TOOL_PERMISSIONS.WRITE,
23
+ required_scopes: [MEMORY_READ_SCOPE, MEMORY_WRITE_SCOPE, AUDIT_WRITE_SCOPE],
24
+ entry: MEMORY_TOOLS_ENTRY,
25
+ description: 'Store a typed memory entry (fact, preference, note, snippet) with optional tags.',
26
+ });
27
+ export const memoryRecallDescriptor = createToolDescriptor({
28
+ name: 'memory:recall',
29
+ permission: TOOL_PERMISSIONS.READ,
30
+ required_scopes: [MEMORY_READ_SCOPE],
31
+ entry: MEMORY_TOOLS_ENTRY,
32
+ description: 'Recall memory entries by substring search and/or tag filter.',
33
+ });
34
+ export const memoryForgetDescriptor = createToolDescriptor({
35
+ name: 'memory:forget',
36
+ permission: TOOL_PERMISSIONS.WRITE,
37
+ required_scopes: [MEMORY_READ_SCOPE, MEMORY_WRITE_SCOPE, AUDIT_WRITE_SCOPE],
38
+ entry: MEMORY_TOOLS_ENTRY,
39
+ description: 'Remove a memory entry by ID. Supports dry_run.',
40
+ });
41
+ //# sourceMappingURL=memory-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../tools/memory-tools.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,qBAAqB;IAC9B,MAAM,EAAE,iBAAiB,CAAC,IAAI;CACtB,CAAC;AAEX,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,qBAAqB;IAC9B,MAAM,EAAE,iBAAiB,CAAC,KAAK;CACvB,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,iBAAiB,CAAC,KAAK;CACvB,CAAC;AAEX,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;IACxD,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,gBAAgB,CAAC,KAAK;IAClC,eAAe,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;IAC3E,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,kFAAkF;CAChG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;IACzD,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,gBAAgB,CAAC,IAAI;IACjC,eAAe,EAAE,CAAC,iBAAiB,CAAC;IACpC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,8DAA8D;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;IACzD,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,gBAAgB,CAAC,KAAK;IAClC,eAAe,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;IAC3E,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,gDAAgD;CAC9D,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const routineCreateDescriptor: import("./types.js").ToolDescriptor;
2
+ export declare const routineListDescriptor: import("./types.js").ToolDescriptor;
3
+ export declare const routineRunDescriptor: import("./types.js").ToolDescriptor;
4
+ //# sourceMappingURL=routine-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routine-tools.d.ts","sourceRoot":"","sources":["../../tools/routine-tools.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,uBAAuB,qCAMlC,CAAC;AAEH,eAAO,MAAM,qBAAqB,qCAMhC,CAAC;AAEH,eAAO,MAAM,oBAAoB,qCAM/B,CAAC"}
@@ -0,0 +1,41 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { TOOL_PERMISSIONS, TOOL_SCOPE_ACCESS, TOOL_SCOPE_TYPES, createToolDescriptor, } from './types.js';
4
+ const ROUTINE_READ_SCOPE = {
5
+ type: TOOL_SCOPE_TYPES.PATH,
6
+ pattern: '.sidekick/routines/**',
7
+ access: TOOL_SCOPE_ACCESS.READ,
8
+ };
9
+ const ROUTINE_WRITE_SCOPE = {
10
+ type: TOOL_SCOPE_TYPES.PATH,
11
+ pattern: '.sidekick/routines/**',
12
+ access: TOOL_SCOPE_ACCESS.WRITE,
13
+ };
14
+ const AUDIT_WRITE_SCOPE = {
15
+ type: TOOL_SCOPE_TYPES.PATH,
16
+ pattern: '.sidekick/audit/**',
17
+ access: TOOL_SCOPE_ACCESS.WRITE,
18
+ };
19
+ const ROUTINE_TOOLS_ENTRY = 'tool-impl/routine-tools.ts';
20
+ export const routineCreateDescriptor = createToolDescriptor({
21
+ name: 'routine:create',
22
+ permission: TOOL_PERMISSIONS.WRITE,
23
+ required_scopes: [ROUTINE_READ_SCOPE, ROUTINE_WRITE_SCOPE, AUDIT_WRITE_SCOPE],
24
+ entry: ROUTINE_TOOLS_ENTRY,
25
+ description: 'Create a named routine with ordered tool+input steps and optional cron.',
26
+ });
27
+ export const routineListDescriptor = createToolDescriptor({
28
+ name: 'routine:list',
29
+ permission: TOOL_PERMISSIONS.READ,
30
+ required_scopes: [ROUTINE_READ_SCOPE],
31
+ entry: ROUTINE_TOOLS_ENTRY,
32
+ description: 'List routines with optional enabled_only filter.',
33
+ });
34
+ export const routineRunDescriptor = createToolDescriptor({
35
+ name: 'routine:run',
36
+ permission: TOOL_PERMISSIONS.READ,
37
+ required_scopes: [ROUTINE_READ_SCOPE],
38
+ entry: ROUTINE_TOOLS_ENTRY,
39
+ description: 'Generate an execution plan for a routine (plan-only, does not execute).',
40
+ });
41
+ //# sourceMappingURL=routine-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routine-tools.js","sourceRoot":"","sources":["../../tools/routine-tools.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,uBAAuB;IAChC,MAAM,EAAE,iBAAiB,CAAC,IAAI;CACtB,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,uBAAuB;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK;CACvB,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,iBAAiB,CAAC,KAAK;CACvB,CAAC;AAEX,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;IAC1D,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,gBAAgB,CAAC,KAAK;IAClC,eAAe,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;IAC7E,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,yEAAyE;CACvF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;IACxD,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,gBAAgB,CAAC,IAAI;IACjC,eAAe,EAAE,CAAC,kBAAkB,CAAC;IACrC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,kDAAkD;CAChE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;IACvD,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,gBAAgB,CAAC,IAAI;IACjC,eAAe,EAAE,CAAC,kBAAkB,CAAC;IACrC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,yEAAyE;CACvF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const sidekickInitDescriptor: import("./types.js").ToolDescriptor;
2
+ export declare const sidekickStatusDescriptor: import("./types.js").ToolDescriptor;
3
+ export declare const sidekickExportDescriptor: import("./types.js").ToolDescriptor;
4
+ //# sourceMappingURL=system-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tools.d.ts","sourceRoot":"","sources":["../../tools/system-tools.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,sBAAsB,qCAMjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,qCAMnC,CAAC;AAEH,eAAO,MAAM,wBAAwB,qCAMnC,CAAC"}
@@ -0,0 +1,36 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { TOOL_PERMISSIONS, TOOL_SCOPE_ACCESS, TOOL_SCOPE_TYPES, createToolDescriptor, } from './types.js';
4
+ const SIDEKICK_READ_SCOPE = {
5
+ type: TOOL_SCOPE_TYPES.PATH,
6
+ pattern: '.sidekick/**',
7
+ access: TOOL_SCOPE_ACCESS.READ,
8
+ };
9
+ const SIDEKICK_WRITE_SCOPE = {
10
+ type: TOOL_SCOPE_TYPES.PATH,
11
+ pattern: '.sidekick/**',
12
+ access: TOOL_SCOPE_ACCESS.WRITE,
13
+ };
14
+ const SYSTEM_TOOLS_ENTRY = 'tool-impl/system-tools.ts';
15
+ export const sidekickInitDescriptor = createToolDescriptor({
16
+ name: 'sidekick:init',
17
+ permission: TOOL_PERMISSIONS.WRITE,
18
+ required_scopes: [SIDEKICK_READ_SCOPE, SIDEKICK_WRITE_SCOPE],
19
+ entry: SYSTEM_TOOLS_ENTRY,
20
+ description: 'Initialize .sidekick/ directory structure. Idempotent.',
21
+ });
22
+ export const sidekickStatusDescriptor = createToolDescriptor({
23
+ name: 'sidekick:status',
24
+ permission: TOOL_PERMISSIONS.READ,
25
+ required_scopes: [SIDEKICK_READ_SCOPE],
26
+ entry: SYSTEM_TOOLS_ENTRY,
27
+ description: 'Show sidekick status: store counts, initialized state, version.',
28
+ });
29
+ export const sidekickExportDescriptor = createToolDescriptor({
30
+ name: 'sidekick:export',
31
+ permission: TOOL_PERMISSIONS.READ,
32
+ required_scopes: [SIDEKICK_READ_SCOPE],
33
+ entry: SYSTEM_TOOLS_ENTRY,
34
+ description: 'Export all sidekick data as a JSON bundle (read-only, no file write).',
35
+ });
36
+ //# sourceMappingURL=system-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../../tools/system-tools.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,iBAAiB,CAAC,IAAI;CACtB,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,iBAAiB,CAAC,KAAK;CACvB,CAAC;AAEX,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAEvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;IACzD,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,gBAAgB,CAAC,KAAK;IAClC,eAAe,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAC5D,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,wDAAwD;CACtE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;IAC3D,IAAI,EAAE,iBAAiB;IACvB,UAAU,EAAE,gBAAgB,CAAC,IAAI;IACjC,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,iEAAiE;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;IAC3D,IAAI,EAAE,iBAAiB;IACvB,UAAU,EAAE,gBAAgB,CAAC,IAAI;IACjC,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,uEAAuE;CACrF,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const taskCreateDescriptor: import("./types.js").ToolDescriptor;
2
+ export declare const taskListDescriptor: import("./types.js").ToolDescriptor;
3
+ export declare const taskCompleteDescriptor: import("./types.js").ToolDescriptor;
4
+ export declare const taskScheduleDescriptor: import("./types.js").ToolDescriptor;
5
+ //# sourceMappingURL=task-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-tools.d.ts","sourceRoot":"","sources":["../../tools/task-tools.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,oBAAoB,qCAM/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,qCAM7B,CAAC;AAEH,eAAO,MAAM,sBAAsB,qCAMjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,qCAMjC,CAAC"}
@@ -0,0 +1,48 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { TOOL_PERMISSIONS, TOOL_SCOPE_ACCESS, TOOL_SCOPE_TYPES, createToolDescriptor, } from './types.js';
4
+ const SIDEKICK_READ_SCOPE = {
5
+ type: TOOL_SCOPE_TYPES.PATH,
6
+ pattern: '.sidekick/tasks/**',
7
+ access: TOOL_SCOPE_ACCESS.READ,
8
+ };
9
+ const SIDEKICK_WRITE_SCOPE = {
10
+ type: TOOL_SCOPE_TYPES.PATH,
11
+ pattern: '.sidekick/tasks/**',
12
+ access: TOOL_SCOPE_ACCESS.WRITE,
13
+ };
14
+ const AUDIT_WRITE_SCOPE = {
15
+ type: TOOL_SCOPE_TYPES.PATH,
16
+ pattern: '.sidekick/audit/**',
17
+ access: TOOL_SCOPE_ACCESS.WRITE,
18
+ };
19
+ const TASK_TOOLS_ENTRY = 'tool-impl/task-tools.ts';
20
+ export const taskCreateDescriptor = createToolDescriptor({
21
+ name: 'task:create',
22
+ permission: TOOL_PERMISSIONS.WRITE,
23
+ required_scopes: [SIDEKICK_READ_SCOPE, SIDEKICK_WRITE_SCOPE, AUDIT_WRITE_SCOPE],
24
+ entry: TASK_TOOLS_ENTRY,
25
+ description: 'Create a new task with title, priority, due date, and tags.',
26
+ });
27
+ export const taskListDescriptor = createToolDescriptor({
28
+ name: 'task:list',
29
+ permission: TOOL_PERMISSIONS.READ,
30
+ required_scopes: [SIDEKICK_READ_SCOPE],
31
+ entry: TASK_TOOLS_ENTRY,
32
+ description: 'List tasks with optional filters: status, priority, tag, due_before.',
33
+ });
34
+ export const taskCompleteDescriptor = createToolDescriptor({
35
+ name: 'task:complete',
36
+ permission: TOOL_PERMISSIONS.WRITE,
37
+ required_scopes: [SIDEKICK_READ_SCOPE, SIDEKICK_WRITE_SCOPE, AUDIT_WRITE_SCOPE],
38
+ entry: TASK_TOOLS_ENTRY,
39
+ description: 'Mark a task as complete. Supports dry_run.',
40
+ });
41
+ export const taskScheduleDescriptor = createToolDescriptor({
42
+ name: 'task:schedule',
43
+ permission: TOOL_PERMISSIONS.WRITE,
44
+ required_scopes: [SIDEKICK_READ_SCOPE, SIDEKICK_WRITE_SCOPE, AUDIT_WRITE_SCOPE],
45
+ entry: TASK_TOOLS_ENTRY,
46
+ description: 'Set or update a task due date or cron schedule.',
47
+ });
48
+ //# sourceMappingURL=task-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../../tools/task-tools.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,iBAAiB,CAAC,IAAI;CACtB,CAAC;AAEX,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,iBAAiB,CAAC,KAAK;CACvB,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,gBAAgB,CAAC,IAAI;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,iBAAiB,CAAC,KAAK;CACvB,CAAC;AAEX,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;IACvD,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,gBAAgB,CAAC,KAAK;IAClC,eAAe,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;IAC/E,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,6DAA6D;CAC3E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;IACrD,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,gBAAgB,CAAC,IAAI;IACjC,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,sEAAsE;CACpF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;IACzD,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,gBAAgB,CAAC,KAAK;IAClC,eAAe,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;IAC/E,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,4CAA4C;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;IACzD,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,gBAAgB,CAAC,KAAK;IAClC,eAAe,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;IAC/E,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,iDAAiD;CAC/D,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { SIDEKICK_DOMAIN, SIDEKICK_PACK_ID, SIDEKICK_PACK_VERSION } from '../constants.js';
2
+ export declare const TOOL_SCOPE_TYPES: {
3
+ readonly PATH: "path";
4
+ };
5
+ export declare const TOOL_SCOPE_ACCESS: {
6
+ readonly READ: "read";
7
+ readonly WRITE: "write";
8
+ };
9
+ export declare const TOOL_PERMISSIONS: {
10
+ readonly READ: "read";
11
+ readonly WRITE: "write";
12
+ readonly ADMIN: "admin";
13
+ };
14
+ export type ToolScopeType = (typeof TOOL_SCOPE_TYPES)[keyof typeof TOOL_SCOPE_TYPES];
15
+ export type ToolScopeAccess = (typeof TOOL_SCOPE_ACCESS)[keyof typeof TOOL_SCOPE_ACCESS];
16
+ export type ToolPermission = (typeof TOOL_PERMISSIONS)[keyof typeof TOOL_PERMISSIONS];
17
+ export interface PathScope {
18
+ type: ToolScopeType;
19
+ pattern: string;
20
+ access: ToolScopeAccess;
21
+ }
22
+ export interface ToolDescriptor {
23
+ name: string;
24
+ domain: typeof SIDEKICK_DOMAIN;
25
+ version: typeof SIDEKICK_PACK_VERSION;
26
+ permission: ToolPermission;
27
+ required_scopes: PathScope[];
28
+ entry: string;
29
+ description: string;
30
+ pack: typeof SIDEKICK_PACK_ID;
31
+ }
32
+ export interface ToolDescriptorInput {
33
+ name: ToolDescriptor['name'];
34
+ permission: ToolDescriptor['permission'];
35
+ required_scopes: ToolDescriptor['required_scopes'];
36
+ entry: ToolDescriptor['entry'];
37
+ description: ToolDescriptor['description'];
38
+ }
39
+ export declare function createToolDescriptor(input: ToolDescriptorInput): ToolDescriptor;
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../tools/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE3F,eAAO,MAAM,gBAAgB;;CAEnB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AACrF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AACzF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEtF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,OAAO,EAAE,OAAO,qBAAqB,CAAC;IACtC,UAAU,EAAE,cAAc,CAAC;IAC3B,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAO/E"}
@@ -0,0 +1,24 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { SIDEKICK_DOMAIN, SIDEKICK_PACK_ID, SIDEKICK_PACK_VERSION } from '../constants.js';
4
+ export const TOOL_SCOPE_TYPES = {
5
+ PATH: 'path',
6
+ };
7
+ export const TOOL_SCOPE_ACCESS = {
8
+ READ: 'read',
9
+ WRITE: 'write',
10
+ };
11
+ export const TOOL_PERMISSIONS = {
12
+ READ: 'read',
13
+ WRITE: 'write',
14
+ ADMIN: 'admin',
15
+ };
16
+ export function createToolDescriptor(input) {
17
+ return {
18
+ ...input,
19
+ domain: SIDEKICK_DOMAIN,
20
+ version: SIDEKICK_PACK_VERSION,
21
+ pack: SIDEKICK_PACK_ID,
22
+ };
23
+ }
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../tools/types.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE3F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AA+BX,MAAM,UAAU,oBAAoB,CAAC,KAA0B;IAC7D,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,gBAAgB;KACvB,CAAC;AACJ,CAAC"}