@hasna/todos 0.15.51 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1884 -0
- package/README.md +314 -37
- package/dist/ai-tools.d.ts.map +1 -1
- package/dist/ai.d.ts.map +1 -1
- package/dist/cli/cloud-router.d.ts +99 -51
- package/dist/cli/cloud-router.d.ts.map +1 -1
- package/dist/cli/commands/agent-commands.d.ts.map +1 -1
- package/dist/cli/commands/config-serve-commands.d.ts.map +1 -1
- package/dist/cli/commands/delegate.d.ts.map +1 -1
- package/dist/cli/commands/environment-snapshots.d.ts.map +1 -1
- package/dist/cli/commands/machines-api.d.ts +4 -0
- package/dist/cli/commands/machines-api.d.ts.map +1 -0
- package/dist/cli/commands/machines.d.ts.map +1 -1
- package/dist/cli/commands/mcp-hooks-commands.d.ts.map +1 -1
- package/dist/cli/commands/plan-commands.d.ts +3 -0
- package/dist/cli/commands/plan-commands.d.ts.map +1 -0
- package/dist/cli/commands/plan-template-commands.d.ts.map +1 -1
- package/dist/cli/commands/pr-group-commands.d.ts.map +1 -1
- package/dist/cli/commands/project-commands.d.ts +15 -0
- package/dist/cli/commands/project-commands.d.ts.map +1 -1
- package/dist/cli/commands/query-commands.d.ts.map +1 -1
- package/dist/cli/commands/storage-commands.d.ts.map +1 -1
- package/dist/cli/commands/task-list-commands.d.ts +3 -0
- package/dist/cli/commands/task-list-commands.d.ts.map +1 -0
- package/dist/cli/commands/template-commands.d.ts +3 -0
- package/dist/cli/commands/template-commands.d.ts.map +1 -0
- package/dist/cli/helpers.d.ts.map +1 -1
- package/dist/cli/index.js +15156 -11088
- package/dist/cli/machine-api.d.ts +7 -0
- package/dist/cli/machine-api.d.ts.map +1 -0
- package/dist/cli/plan-read-api.d.ts +6 -0
- package/dist/cli/plan-read-api.d.ts.map +1 -0
- package/dist/cli/project-api.d.ts +119 -0
- package/dist/cli/project-api.d.ts.map +1 -0
- package/dist/cli/stage-a.d.ts +34 -4
- package/dist/cli/stage-a.d.ts.map +1 -1
- package/dist/cli/task-query-api.d.ts +21 -0
- package/dist/cli/task-query-api.d.ts.map +1 -0
- package/dist/cli/template-api.d.ts +7 -0
- package/dist/cli/template-api.d.ts.map +1 -0
- package/dist/contracts.js +836 -266
- package/dist/db/builtin-templates.d.ts +2 -33
- package/dist/db/builtin-templates.d.ts.map +1 -1
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/handoffs.d.ts.map +1 -1
- package/dist/db/machines.d.ts.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/plans.d.ts.map +1 -1
- package/dist/db/retrospectives.d.ts.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/task-lists.d.ts.map +1 -1
- package/dist/db/task-runs.d.ts +2 -0
- package/dist/db/task-runs.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3863 -1708
- package/dist/lib/assignee-validation.d.ts.map +1 -1
- package/dist/lib/builtin-template-library.d.ts +32 -0
- package/dist/lib/builtin-template-library.d.ts.map +1 -0
- package/dist/lib/cli-reference.d.ts.map +1 -1
- package/dist/lib/config.d.ts +10 -13
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/db-backup.d.ts +1 -1
- package/dist/lib/db-backup.d.ts.map +1 -1
- package/dist/lib/env.d.ts +18 -0
- package/dist/lib/env.d.ts.map +1 -0
- package/dist/lib/environment-snapshots.d.ts.map +1 -1
- package/dist/lib/gatherer.d.ts.map +1 -1
- package/dist/lib/headless-boundaries.d.ts +4 -3
- package/dist/lib/headless-boundaries.d.ts.map +1 -1
- package/dist/lib/local-encryption.d.ts +12 -0
- package/dist/lib/local-encryption.d.ts.map +1 -1
- package/dist/lib/local-opt-in.d.ts +90 -0
- package/dist/lib/local-opt-in.d.ts.map +1 -0
- package/dist/lib/paths.d.ts +9 -0
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/plan-artifacts.d.ts +1 -0
- package/dist/lib/plan-artifacts.d.ts.map +1 -1
- package/dist/lib/plan-client-boundary.d.ts +2 -0
- package/dist/lib/plan-client-boundary.d.ts.map +1 -0
- package/dist/lib/plan-schedule.d.ts +6 -0
- package/dist/lib/plan-schedule.d.ts.map +1 -0
- package/dist/lib/project-panel.d.ts +6 -0
- package/dist/lib/project-panel.d.ts.map +1 -1
- package/dist/lib/project-receipt.d.ts +3 -0
- package/dist/lib/project-receipt.d.ts.map +1 -0
- package/dist/lib/sandbox-profiles.d.ts.map +1 -1
- package/dist/lib/shared-plan-artifacts.d.ts +14 -0
- package/dist/lib/shared-plan-artifacts.d.ts.map +1 -0
- package/dist/lib/sync.d.ts.map +1 -1
- package/dist/lib/task-list-client-boundary.d.ts +3 -0
- package/dist/lib/task-list-client-boundary.d.ts.map +1 -0
- package/dist/lib/task-routing.d.ts.map +1 -1
- package/dist/lib/template-client-boundary.d.ts +2 -0
- package/dist/lib/template-client-boundary.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +45195 -40368
- package/dist/mcp/plan-api.d.ts +6 -0
- package/dist/mcp/plan-api.d.ts.map +1 -0
- package/dist/mcp/remote-authority.d.ts +49 -0
- package/dist/mcp/remote-authority.d.ts.map +1 -0
- package/dist/mcp/task-coordination-api.d.ts +15 -0
- package/dist/mcp/task-coordination-api.d.ts.map +1 -0
- package/dist/mcp/task-list-api.d.ts +8 -0
- package/dist/mcp/task-list-api.d.ts.map +1 -0
- package/dist/mcp/token-utils.d.ts.map +1 -1
- package/dist/mcp/tools/environment-snapshots.d.ts.map +1 -1
- package/dist/mcp/tools/machines.d.ts.map +1 -1
- package/dist/mcp/tools/task-project-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-resources.d.ts.map +1 -1
- package/dist/mcp.d.ts +2 -2
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +45 -19
- package/dist/project-registration.js +2830 -557
- package/dist/registry.js +837 -267
- package/dist/release-provenance.json +6 -6
- package/dist/sdk/client.d.ts +51 -4
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +1209 -1080
- package/dist/sdk/resolve.d.ts +91 -0
- package/dist/sdk/resolve.d.ts.map +1 -0
- package/dist/sdk/v1.generated.d.ts +219 -3
- package/dist/sdk/v1.generated.d.ts.map +1 -1
- package/dist/server/auth-posture.d.ts +66 -7
- package/dist/server/auth-posture.d.ts.map +1 -1
- package/dist/server/client-ip.d.ts +39 -0
- package/dist/server/client-ip.d.ts.map +1 -0
- package/dist/server/cloud.d.ts +2 -1
- package/dist/server/cloud.d.ts.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +20556 -15533
- package/dist/server/openapi.d.ts +1341 -83
- package/dist/server/openapi.d.ts.map +1 -1
- package/dist/server/port.d.ts +2 -2
- package/dist/server/port.d.ts.map +1 -1
- package/dist/server/routes.d.ts +3 -6
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/serve.d.ts +2 -6
- package/dist/server/serve.d.ts.map +1 -1
- package/dist/server/v1.d.ts +3 -1
- package/dist/server/v1.d.ts.map +1 -1
- package/dist/storage/atomic-project-migration.d.ts +53 -0
- package/dist/storage/atomic-project-migration.d.ts.map +1 -0
- package/dist/storage/index.d.ts +3 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/interfaces.d.ts +61 -0
- package/dist/storage/interfaces.d.ts.map +1 -1
- package/dist/storage/machine-registry.d.ts +36 -0
- package/dist/storage/machine-registry.d.ts.map +1 -0
- package/dist/storage/postgres-adapter.d.ts.map +1 -1
- package/dist/storage/postgres-sync.d.ts +2 -2
- package/dist/storage/postgres-sync.d.ts.map +1 -1
- package/dist/storage/run-artifact-creation-upload.d.ts +50 -0
- package/dist/storage/run-artifact-creation-upload.d.ts.map +1 -0
- package/dist/storage/s3-artifact-sync.d.ts +18 -0
- package/dist/storage/s3-artifact-sync.d.ts.map +1 -1
- package/dist/storage/sqlite-snapshot.d.ts +2 -0
- package/dist/storage/sqlite-snapshot.d.ts.map +1 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +2695 -322
- package/dist/task-manifest/postgres.d.ts +1 -1
- package/dist/task-manifest/sqlite.d.ts +1 -1
- package/dist/task-manifest.js +244 -73
- package/dist/task-subtree-transfer.js +198 -4
- package/dist/testing.d.ts +90 -29
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +34 -10
- package/dist/types/index.d.ts +40 -4
- package/dist/types/index.d.ts.map +1 -1
- package/docs/PLAN_API.md +93 -0
- package/docs/TASK_LIST_API.md +58 -0
- package/docs/TASK_QUERY_API.md +14 -0
- package/docs/TEMPLATE_API.md +18 -0
- package/docs/native-storage.md +405 -0
- package/package.json +19 -16
- package/postinstall.js +52 -1
- package/dashboard/dist/assets/index-BNQ4gJua.js +0 -342
- package/dashboard/dist/assets/index-DjzvHUWt.css +0 -1
- package/dashboard/dist/index.html +0 -13
- package/dashboard/dist/logo.jpg +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { HasnaStorageClient } from '@hasna/contracts/client/storage';
|
|
2
|
+
import type { TodosPlanDeleteReceipt } from '../storage/interfaces.js';
|
|
3
|
+
export declare function deleteSharedPlan(client: HasnaStorageClient, id: string, force: boolean): Promise<TodosPlanDeleteReceipt>;
|
|
4
|
+
export declare function assertPlanReceipt(value: unknown, expected?: Record<string, unknown>, id?: string): asserts value is import('../types/index.js').Plan;
|
|
5
|
+
export declare function listSharedPlans(client: HasnaStorageClient, projectId?: string): Promise<import('../types/index.js').Plan[]>;
|
|
6
|
+
//# sourceMappingURL=plan-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-api.d.ts","sourceRoot":"","sources":["../../src/mcp/plan-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AACrE,wBAAsB,gBAAgB,CAAC,MAAM,EAAC,kBAAkB,EAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAC,CAOxH;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,GAAC,MAAM,CAAC,MAAM,EAAC,OAAO,CAAI,EAAC,EAAE,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,KAAK,IAAI,OAAO,mBAAmB,EAAE,IAAI,CAG/I;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAC,kBAAkB,EAAC,SAAS,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,OAAO,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAM7H"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP-side authority guard.
|
|
3
|
+
*
|
|
4
|
+
* Plan and task-list tools are served only by the authenticated shared API
|
|
5
|
+
* (the same posture the CLI enforces for `todos plans` / `todos task-lists`).
|
|
6
|
+
* In local mode — or on a station with no credential — the old guard threw a
|
|
7
|
+
* plain `Error`, which the MCP error formatter sanitizes to `UNKNOWN_ERROR`
|
|
8
|
+
* ("An unexpected error occurred. Check server logs for details."). That made a
|
|
9
|
+
* configuration requirement look like a server bug and dropped the actionable
|
|
10
|
+
* diagnostic to stderr.
|
|
11
|
+
*
|
|
12
|
+
* `RemoteApiConfigMissingError` carries the CLI's stable `REMOTE_API_*` code
|
|
13
|
+
* and a suggestion, so the formatter can return a typed, actionable payload.
|
|
14
|
+
*/
|
|
15
|
+
import { getTodosCloudClient } from "../cli/cloud-router.js";
|
|
16
|
+
export declare const REMOTE_API_CONFIG_MISSING = "REMOTE_API_CONFIG_MISSING";
|
|
17
|
+
export type RemoteAuthorityToolKind = "Plan" | "Task-list";
|
|
18
|
+
/**
|
|
19
|
+
* The remedy for each stable `REMOTE_API_*` code.
|
|
20
|
+
*
|
|
21
|
+
* The code prefix alone does not imply one remedy: a missing credential and a
|
|
22
|
+
* credential the authority REJECTED are different failures with different
|
|
23
|
+
* fixes. Before this map every `REMOTE_API_*` refusal was answered with the
|
|
24
|
+
* "configure the shared Todos API" advice, which is wrong for a 401 (the
|
|
25
|
+
* credential is present and rejected — re-save it, do not re-configure the
|
|
26
|
+
* URL), for a bad URL, and for a slow or unreachable authority. A client that
|
|
27
|
+
* follows the wrong remedy keeps failing.
|
|
28
|
+
*/
|
|
29
|
+
export declare const REMOTE_API_SUGGESTIONS: Record<string, string>;
|
|
30
|
+
/** Remedy for one `REMOTE_API_*` code; unknown codes get the configuration remedy. */
|
|
31
|
+
export declare function suggestionForRemoteApiCode(code: string): string;
|
|
32
|
+
export declare class RemoteApiConfigMissingError extends Error {
|
|
33
|
+
static readonly code = "REMOTE_API_CONFIG_MISSING";
|
|
34
|
+
static readonly suggestion: string;
|
|
35
|
+
readonly code: string;
|
|
36
|
+
readonly suggestion: string;
|
|
37
|
+
readonly toolKind: RemoteAuthorityToolKind;
|
|
38
|
+
constructor(toolKind: RemoteAuthorityToolKind, code?: string, detail?: string);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Resolve the shared API client or fail with a typed, actionable error.
|
|
42
|
+
*
|
|
43
|
+
* `getTodosCloudClient()` returns `null` under the deliberate local opt-in and
|
|
44
|
+
* throws the CLI's `REMOTE_API_*` diagnostics for every other resolution
|
|
45
|
+
* failure. Both are surfaced here as one typed error so MCP clients get the
|
|
46
|
+
* same code the CLI prints instead of a sanitized `UNKNOWN_ERROR`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function requireTodosCloudClient(toolKind: RemoteAuthorityToolKind): NonNullable<ReturnType<typeof getTodosCloudClient>>;
|
|
49
|
+
//# sourceMappingURL=remote-authority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-authority.d.ts","sourceRoot":"","sources":["../../src/mcp/remote-authority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiCzD,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAA6B;IACjD,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAsD;IAEhF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;gBAE/B,QAAQ,EAAE,uBAAuB,EAAE,IAAI,GAAE,MAAkC,EAAE,MAAM,CAAC,EAAE,MAAM;CAazG;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,uBAAuB,GAChC,WAAW,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAuBrD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HasnaStorageClient } from "@hasna/contracts/client/storage";
|
|
2
|
+
import type { TaskGraph } from "../db/task-graph.js";
|
|
3
|
+
import type { Task } from "../types/index.js";
|
|
4
|
+
export declare function cloudTaskLockStatus(client: HasnaStorageClient, id: string, nowMs?: number): Promise<{
|
|
5
|
+
task_id: string;
|
|
6
|
+
locked: boolean;
|
|
7
|
+
locked_by: string | null;
|
|
8
|
+
locked_at: string | null;
|
|
9
|
+
expires_at: string | null;
|
|
10
|
+
expired: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
export declare function cloudPrioritizeTask(client: HasnaStorageClient, id: string, priority: Task["priority"], version?: number): Promise<Task>;
|
|
13
|
+
/** Full graph, bounded to prevent unbounded API walks. Limits fail visibly, never truncate. */
|
|
14
|
+
export declare function cloudTaskGraph(client: HasnaStorageClient, id: string, direction?: "up" | "down" | "both"): Promise<TaskGraph>;
|
|
15
|
+
//# sourceMappingURL=task-coordination-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-coordination-api.d.ts","sourceRoot":"","sources":["../../src/mcp/task-coordination-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAY9C,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,SAAa;;;;;;;GAQnG;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,iBAM7H;AAED,+FAA+F;AAC/F,wBAAsB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,GAAE,IAAI,GAAG,MAAM,GAAG,MAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAoC3I"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HasnaStorageClient } from '@hasna/contracts/client/storage';
|
|
2
|
+
import type { TaskList } from '../types/index.js';
|
|
3
|
+
import type { TodosTaskListDeleteReceipt } from '../storage/interfaces.js';
|
|
4
|
+
export declare function assertTaskListReceipt(value: unknown, expected?: Record<string, unknown>, id?: string): asserts value is TaskList;
|
|
5
|
+
export declare function listSharedTaskLists(client: HasnaStorageClient, projectId?: string): Promise<TaskList[]>;
|
|
6
|
+
export declare function resolveSharedTaskList(client: HasnaStorageClient, ref: string): Promise<TaskList>;
|
|
7
|
+
export declare function deleteSharedTaskList(client: HasnaStorageClient, id: string, force: boolean): Promise<TodosTaskListDeleteReceipt>;
|
|
8
|
+
//# sourceMappingURL=task-list-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-list-api.d.ts","sourceRoot":"","sources":["../../src/mcp/task-list-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AACzE,wBAAgB,qBAAqB,CAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,GAAC,MAAM,CAAC,MAAM,EAAC,OAAO,CAAI,EAAC,EAAE,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,KAAK,IAAI,QAAQ,CAG3H;AACD,wBAAsB,mBAAmB,CAAC,MAAM,EAAC,kBAAkB,EAAC,SAAS,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAMzG;AACD,wBAAsB,qBAAqB,CAAC,MAAM,EAAC,kBAAkB,EAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,CAIlG;AACD,wBAAsB,oBAAoB,CAAC,MAAM,EAAC,kBAAkB,EAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAE,OAAO,CAAC,0BAA0B,CAAC,CAOhI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../src/mcp/token-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../src/mcp/token-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3C,eAAO,MAAM,cAAc,aAoBzB,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAyW7D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAMhE,CAAC;AAgBF,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,YAAY,qBAAgB,EAC5B,UAAU,qBAAmB,GAC5B,OAAO,CAqCT;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,SAAM,GAAG,MAAM,GAAG,IAAI,CAK5F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,SAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgB1F;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCtF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAexD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAElD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,UAA4B,GAAG,OAAO,CA0BvH;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAY5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-snapshots.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/environment-snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;CACrC,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"environment-snapshots.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/environment-snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;CACrC,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,OAAO,GAAG,IAAI,CAkDtH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/machines.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/machines.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBzE,UAAU,WAAW;IACnB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACzC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,QAoSvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-project-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task-project-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-project-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task-project-tools.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAiKjD,UAAU,kBAAkB;IAC1B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC3F;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,QAy+FlF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-resources.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task-resources.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"task-resources.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task-resources.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0HpE,UAAU,oBAAoB;IAC5B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACzC;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,QA07DjF"}
|
package/dist/mcp.d.ts
CHANGED
|
@@ -28,8 +28,8 @@ export interface TodosMcpManifest {
|
|
|
28
28
|
name: "todos";
|
|
29
29
|
binary: "todos-mcp";
|
|
30
30
|
transport: "stdio";
|
|
31
|
-
profileEnvironmentVariable: "
|
|
32
|
-
groupEnvironmentVariable: "
|
|
31
|
+
profileEnvironmentVariable: "HASNA_TODOS_PROFILE";
|
|
32
|
+
groupEnvironmentVariable: "HASNA_TODOS_TOOL_GROUPS";
|
|
33
33
|
};
|
|
34
34
|
groups: Record<string, readonly string[]>;
|
|
35
35
|
profiles: Record<string, readonly string[]>;
|
package/dist/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,cAAc,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,cAAc,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,0BAA0B,EAAE,qBAAqB,CAAC;QAClD,wBAAwB,EAAE,yBAAyB,CAAC;KACrD,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5C,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,4BAA4B,GAC7B,CAAC;AAgCF,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,EAAE,CAM9E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,gBAAgB,CAuB1F;AAED,eAAO,MAAM,kBAAkB,kBAE7B,CAAC"}
|
package/dist/mcp.js
CHANGED
|
@@ -38,10 +38,32 @@ var __export = (target, all) => {
|
|
|
38
38
|
};
|
|
39
39
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
40
40
|
var __require = import.meta.require;
|
|
41
|
+
|
|
42
|
+
// src/lib/env.ts
|
|
43
|
+
var alias = (canonical, legacy) => process.env[canonical] ?? process.env[legacy], env;
|
|
44
|
+
var init_env = __esm(() => {
|
|
45
|
+
env = {
|
|
46
|
+
profile: () => alias("HASNA_TODOS_PROFILE", "TODOS_PROFILE"),
|
|
47
|
+
toolGroups: () => alias("HASNA_TODOS_TOOL_GROUPS", "TODOS_TOOL_GROUPS"),
|
|
48
|
+
machineId: () => alias("HASNA_TODOS_MACHINE_ID", "TODOS_MACHINE_ID"),
|
|
49
|
+
machineName: () => alias("HASNA_TODOS_MACHINE_NAME", "TODOS_MACHINE_NAME"),
|
|
50
|
+
rateLimitMax: () => alias("HASNA_TODOS_RATE_LIMIT_MAX", "TODOS_RATE_LIMIT_MAX"),
|
|
51
|
+
trustProxy: () => alias("HASNA_TODOS_TRUST_PROXY", "TODOS_TRUST_PROXY"),
|
|
52
|
+
autoProject: () => alias("HASNA_TODOS_AUTO_PROJECT", "TODOS_AUTO_PROJECT"),
|
|
53
|
+
aiFormat: () => alias("HASNA_TODOS_AI_FORMAT", "TODOS_AI_FORMAT"),
|
|
54
|
+
syncAgents: () => alias("HASNA_TODOS_SYNC_AGENTS", "TODOS_SYNC_AGENTS"),
|
|
55
|
+
taskListId: () => alias("HASNA_TODOS_TASK_LIST_ID", "TODOS_TASK_LIST_ID"),
|
|
56
|
+
claudeTaskList: () => alias("HASNA_TODOS_CLAUDE_TASK_LIST", "TODOS_CLAUDE_TASK_LIST"),
|
|
57
|
+
sandboxProfilesPath: () => alias("HASNA_TODOS_SANDBOX_PROFILES_PATH", "TODOS_SANDBOX_PROFILES_PATH"),
|
|
58
|
+
seatRosterPath: () => alias("HASNA_TODOS_SEAT_ROSTER_PATH", "TODOS_SEAT_ROSTER_PATH"),
|
|
59
|
+
delegateNoticeChannel: () => alias("HASNA_TODOS_DELEGATE_NOTICE_CHANNEL", "TODOS_DELEGATE_NOTICE_CHANNEL"),
|
|
60
|
+
delegateNotifyBin: () => alias("HASNA_TODOS_DELEGATE_NOTIFY_BIN", "TODOS_DELEGATE_NOTIFY_BIN")
|
|
61
|
+
};
|
|
62
|
+
});
|
|
41
63
|
// package.json
|
|
42
64
|
var package_default = {
|
|
43
65
|
name: "@hasna/todos",
|
|
44
|
-
version: "0.
|
|
66
|
+
version: "0.16.0",
|
|
45
67
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
46
68
|
type: "module",
|
|
47
69
|
main: "dist/index.js",
|
|
@@ -94,37 +116,40 @@ var package_default = {
|
|
|
94
116
|
}
|
|
95
117
|
},
|
|
96
118
|
workspaces: [
|
|
97
|
-
"dashboard",
|
|
98
119
|
"ai"
|
|
99
120
|
],
|
|
100
121
|
files: [
|
|
101
122
|
"dist",
|
|
102
|
-
"dashboard/dist",
|
|
103
123
|
"postinstall.js",
|
|
104
124
|
"LICENSE",
|
|
105
|
-
"README.md"
|
|
125
|
+
"README.md",
|
|
126
|
+
"CHANGELOG.md",
|
|
127
|
+
"docs/PLAN_API.md",
|
|
128
|
+
"docs/TASK_LIST_API.md",
|
|
129
|
+
"docs/TEMPLATE_API.md",
|
|
130
|
+
"docs/TASK_QUERY_API.md",
|
|
131
|
+
"docs/native-storage.md"
|
|
106
132
|
],
|
|
107
133
|
scripts: {
|
|
108
|
-
build: "
|
|
134
|
+
build: "cd ai && bun install --frozen-lockfile && cd .. && rm -rf dist && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/index.ts src/mcp.ts src/registry.ts src/contracts.ts src/storage.ts src/testing.ts src/project-registration.ts src/task-manifest.ts src/task-subtree-transfer.ts --outdir dist --root src --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && tsc --emitDeclarationOnly --outDir dist",
|
|
109
135
|
"build:js": "rm -rf dist && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/index.ts src/mcp.ts src/registry.ts src/contracts.ts src/storage.ts src/testing.ts src/project-registration.ts src/task-manifest.ts src/task-subtree-transfer.ts --outdir dist --root src --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && tsc --emitDeclarationOnly --outDir dist",
|
|
110
136
|
"build:server": "rm -rf dist && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/index.ts src/mcp.ts src/registry.ts src/contracts.ts src/storage.ts src/testing.ts src/project-registration.ts src/task-manifest.ts src/task-subtree-transfer.ts --outdir dist --target bun --external '@hasna/contracts' --external '@hasna/contracts/*'",
|
|
111
137
|
migrate: "bun run src/server/index.ts migrate",
|
|
112
138
|
"backfill:comment-redaction": "bun run src/server/index.ts redact-comments",
|
|
113
139
|
"generate:sdk": "bun run scripts/generate-sdk.ts",
|
|
114
|
-
"build:dashboard": "cd dashboard && bun install --frozen-lockfile && bun run build",
|
|
115
140
|
typecheck: "tsc --noEmit -p tsconfig.typecheck.json",
|
|
116
|
-
test: "bun test",
|
|
117
|
-
"test:no-cloud": "bun test src/no-cloud-boundary.test.ts src/local-first.test.ts src/lib/public-release-gate.test.ts",
|
|
141
|
+
test: "bun test --timeout 120000",
|
|
142
|
+
"test:no-cloud": "bun test --timeout 120000 src/no-cloud-boundary.test.ts src/local-first.test.ts src/lib/public-release-gate.test.ts",
|
|
118
143
|
"dev:cli": "bun run src/cli/index.tsx",
|
|
119
144
|
"dev:mcp": "bun run src/mcp/index.ts",
|
|
120
145
|
"dev:serve": "bun run src/server/index.ts",
|
|
121
146
|
"verify:release": "bun run scripts/verify-public-release.ts --mode=review",
|
|
122
147
|
"verify:release-review": "bun run scripts/verify-npm-release-agent-review.ts",
|
|
123
148
|
"verify:attested-container-candidate": "bun run scripts/attested-container-candidate.ts verify",
|
|
124
|
-
"test:attested-container-candidate": "bun test scripts/attested-container-candidate.test.ts",
|
|
149
|
+
"test:attested-container-candidate": "bun test --timeout 120000 scripts/attested-container-candidate.test.ts",
|
|
125
150
|
"emit:iapp-deployment-compatibility-vector": "bun run scripts/attested-container-compatibility-vector.ts emit",
|
|
126
151
|
"verify:iapp-deployment-compatibility-vector": "bun run scripts/attested-container-compatibility-vector.ts verify",
|
|
127
|
-
"test:attested-container-compatibility-vector": "bun test scripts/attested-container-compatibility-vector.test.ts",
|
|
152
|
+
"test:attested-container-compatibility-vector": "bun test --timeout 120000 scripts/attested-container-compatibility-vector.test.ts",
|
|
128
153
|
"issue:release-review": "bun run scripts/issue-npm-release-agent-review.ts",
|
|
129
154
|
prepublishOnly: "bun run scripts/verify-public-release.ts --mode=publish",
|
|
130
155
|
postinstall: "node postinstall.js"
|
|
@@ -148,11 +173,12 @@ var package_default = {
|
|
|
148
173
|
},
|
|
149
174
|
repository: {
|
|
150
175
|
type: "git",
|
|
151
|
-
url: "https://github.com/hasna/
|
|
176
|
+
url: "https://github.com/hasna/apps.git",
|
|
177
|
+
directory: "apps/todos"
|
|
152
178
|
},
|
|
153
|
-
homepage: "https://github.com/hasna/
|
|
179
|
+
homepage: "https://github.com/hasna/apps",
|
|
154
180
|
bugs: {
|
|
155
|
-
url: "https://github.com/hasna/
|
|
181
|
+
url: "https://github.com/hasna/apps/issues"
|
|
156
182
|
},
|
|
157
183
|
engines: {
|
|
158
184
|
bun: ">=1.0.0"
|
|
@@ -161,9 +187,8 @@ var package_default = {
|
|
|
161
187
|
author: "Andrei Hasna <andrei@hasna.com>",
|
|
162
188
|
license: "Apache-2.0",
|
|
163
189
|
dependencies: {
|
|
164
|
-
"@hasna/contracts": "0.
|
|
190
|
+
"@hasna/contracts": "1.0.2",
|
|
165
191
|
"@hasna/events": "^0.1.11",
|
|
166
|
-
"@hasna/paths": "0.1.0",
|
|
167
192
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
168
193
|
chalk: "^5.4.1",
|
|
169
194
|
commander: "^13.1.0",
|
|
@@ -178,7 +203,7 @@ var package_default = {
|
|
|
178
203
|
zod: "3.25.76"
|
|
179
204
|
},
|
|
180
205
|
devDependencies: {
|
|
181
|
-
"@types/bun": "
|
|
206
|
+
"@types/bun": "1.3.14",
|
|
182
207
|
"@types/react": "^18.3.18",
|
|
183
208
|
"bun-types": "1.3.9",
|
|
184
209
|
"hasna-deployment-contracts": "npm:@hasna/contracts@0.10.4",
|
|
@@ -192,6 +217,7 @@ function getPackageVersion(_fromUrl = import.meta.url) {
|
|
|
192
217
|
}
|
|
193
218
|
|
|
194
219
|
// src/mcp/token-utils.ts
|
|
220
|
+
init_env();
|
|
195
221
|
var CORE_MCP_TOOLS = new Set([
|
|
196
222
|
"add_comment",
|
|
197
223
|
"bootstrap",
|
|
@@ -593,7 +619,7 @@ function addGroupTools(toolNames, groupName) {
|
|
|
593
619
|
toolNames.add(tool);
|
|
594
620
|
return true;
|
|
595
621
|
}
|
|
596
|
-
function shouldRegisterToolForProfile(name, profileValue =
|
|
622
|
+
function shouldRegisterToolForProfile(name, profileValue = env.profile(), groupValue = env.toolGroups()) {
|
|
597
623
|
const profileTokens = splitTokens(profileValue || "minimal");
|
|
598
624
|
const groupTokens = splitTokens(groupValue);
|
|
599
625
|
if (profileTokens.includes("full") || profileTokens.includes("all"))
|
|
@@ -665,8 +691,8 @@ function createMcpManifest(options = {}) {
|
|
|
665
691
|
name: "todos",
|
|
666
692
|
binary: "todos-mcp",
|
|
667
693
|
transport: "stdio",
|
|
668
|
-
profileEnvironmentVariable: "
|
|
669
|
-
groupEnvironmentVariable: "
|
|
694
|
+
profileEnvironmentVariable: "HASNA_TODOS_PROFILE",
|
|
695
|
+
groupEnvironmentVariable: "HASNA_TODOS_TOOL_GROUPS"
|
|
670
696
|
},
|
|
671
697
|
groups: MCP_TOOL_GROUPS,
|
|
672
698
|
profiles: MCP_PROFILE_GROUPS,
|