@hasna/todos 0.16.0 → 0.17.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 +109 -0
- package/README.md +59 -22
- package/dist/cli/cloud-router.d.ts +63 -21
- package/dist/cli/cloud-router.d.ts.map +1 -1
- package/dist/cli/commands/config-serve-commands.d.ts.map +1 -1
- package/dist/cli/commands/template-commands.d.ts.map +1 -1
- package/dist/cli/index.js +2591 -503
- package/dist/cli/stage-a.d.ts +2 -12
- package/dist/cli/stage-a.d.ts.map +1 -1
- package/dist/cli/template-remote.d.ts +90 -0
- package/dist/cli/template-remote.d.ts.map +1 -0
- package/dist/cli-mcp-parity.d.ts.map +1 -1
- package/dist/contracts.js +77 -30
- package/dist/db/agents.d.ts +8 -0
- package/dist/db/agents.d.ts.map +1 -1
- package/dist/db/database.d.ts +6 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/identity-mapping.d.ts +25 -0
- package/dist/db/identity-mapping.d.ts.map +1 -1
- package/dist/db/task-crud.d.ts.map +1 -1
- package/dist/index.js +496 -58
- package/dist/lib/feature-manifest.d.ts.map +1 -1
- package/dist/lib/local-opt-in.d.ts +14 -0
- package/dist/lib/local-opt-in.d.ts.map +1 -1
- package/dist/lib/paths.d.ts +11 -1
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/mcp/index.d.ts +52 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +15162 -30695
- package/dist/mcp/tools/agents.d.ts.map +1 -1
- package/dist/mcp/tools/task-adv-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-auto-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-crud.d.ts.map +1 -1
- package/dist/mcp/tools/task-meta-tools.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/tools/templates.d.ts.map +1 -1
- package/dist/mcp.js +3 -3
- package/dist/project-registration.js +466 -35
- package/dist/registry.js +77 -30
- package/dist/release-provenance.json +5 -5
- package/dist/sdk/client.d.ts +3 -1
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/index.js +48 -12
- package/dist/sdk/resolve.d.ts +23 -13
- package/dist/sdk/resolve.d.ts.map +1 -1
- package/dist/sdk/types.d.ts +17 -2
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/v1.generated.d.ts +115 -0
- package/dist/sdk/v1.generated.d.ts.map +1 -1
- package/dist/server/index.js +3972 -916
- package/dist/server/openapi.d.ts +837 -50
- package/dist/server/openapi.d.ts.map +1 -1
- package/dist/server/rate-limit-config.d.ts +6 -0
- package/dist/server/rate-limit-config.d.ts.map +1 -0
- package/dist/server/serve.d.ts.map +1 -1
- package/dist/server/v1.d.ts.map +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/interfaces.d.ts +74 -3
- package/dist/storage/interfaces.d.ts.map +1 -1
- package/dist/storage/local-sqlite.d.ts.map +1 -1
- package/dist/storage/postgres-adapter.d.ts.map +1 -1
- package/dist/storage.js +464 -33
- package/dist/task-manifest.js +8 -2
- package/dist/types/index.d.ts +5 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/mcp/tools/code-tools.d.ts +0 -15
- package/dist/mcp/tools/code-tools.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/feature-manifest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"feature-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/feature-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,20 @@ export declare const TODOS_LOCAL_OPT_IN_ENV_KEYS: readonly ["HASNA_TODOS_LOCAL",
|
|
|
4
4
|
export type TodosLocalOptInEnv = Record<string, string | undefined>;
|
|
5
5
|
/** True when the operator deliberately asked for the unhosted local store. */
|
|
6
6
|
export declare function isTodosLocalOptIn(env?: TodosLocalOptInEnv): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The one line a local run prints, and the reason it prints at all.
|
|
9
|
+
*
|
|
10
|
+
* An unhosted surface that says nothing looks exactly like a hosted one whose
|
|
11
|
+
* store happens to be empty — that is the false green the 2026-09-04 ruling
|
|
12
|
+
* (hasna/apps#1720) closes, and it is why the notice is unconditional rather
|
|
13
|
+
* than behind a verbosity flag. It goes to STDERR so `--json` output and the
|
|
14
|
+
* MCP stdio frames stay clean on stdout, and it names the credential the run
|
|
15
|
+
* did NOT find, so the fix is in the message rather than in the docs.
|
|
16
|
+
*
|
|
17
|
+
* It lives in this leaf module so the CLI, the MCP server and the SDK print
|
|
18
|
+
* the SAME line without the MCP bundle having to import the CLI's stage A.
|
|
19
|
+
*/
|
|
20
|
+
export declare function todosLocalModeNotice(reason?: "local-opt-in" | "local-only-command"): string;
|
|
7
21
|
/** Every env name that can configure a Todos authority or credential, resolver-derived. */
|
|
8
22
|
export declare function todosAuthorityEnvKeys(): string[];
|
|
9
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-opt-in.d.ts","sourceRoot":"","sources":["../../src/lib/local-opt-in.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,+CAAgD,CAAC;AAEzF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpE,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,kBAAgC,GAAG,OAAO,CAEhF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAShD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,kBAAgC,GAAG,OAAO,CAEzF;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,kBAAgC,GAAG,OAAO,CAErF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAQxE;AAsBD,oFAAoF;AACpF,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,kBAAkB;IAC/D,gFAAgF;IAChF,GAAG,EAAE,CAAC,CAAC;IACP,gFAAgF;IAChF,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,EAC9D,GAAG,EAAE,CAAC,EACN,WAAW,GAAE,sBAA2B,GACvC,mBAAmB,CAAC,CAAC,CAAC,CASxB"}
|
|
1
|
+
{"version":3,"file":"local-opt-in.d.ts","sourceRoot":"","sources":["../../src/lib/local-opt-in.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,+CAAgD,CAAC;AAEzF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpE,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,kBAAgC,GAAG,OAAO,CAEhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,cAAc,GAAG,oBAAqC,GAAG,MAAM,CAa3G;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAShD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,kBAAgC,GAAG,OAAO,CAEzF;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,kBAAgC,GAAG,OAAO,CAErF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAQxE;AAsBD,oFAAoF;AACpF,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,kBAAkB;IAC/D,gFAAgF;IAChF,GAAG,EAAE,CAAC,CAAC;IACP,gFAAgF;IAChF,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,EAC9D,GAAG,EAAE,CAAC,EACN,WAAW,GAAE,sBAA2B,GACvC,mBAAmB,CAAC,CAAC,CAAC,CASxB"}
|
package/dist/lib/paths.d.ts
CHANGED
|
@@ -15,7 +15,17 @@ export declare function dataDir(options: PathsResolverOptions): string;
|
|
|
15
15
|
* so this resolves identically.
|
|
16
16
|
*/
|
|
17
17
|
export declare function effectiveHome(env?: NodeJS.ProcessEnv): string;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* The `~/.hasna` root: `HASNA_HOME` when it is an absolute, non-blank value,
|
|
20
|
+
* else `$HOME/.hasna` — the same rule `@hasna/contracts` applies when it looks
|
|
21
|
+
* for `<root>/todos/config/credentials`. Honouring it here too is what keeps
|
|
22
|
+
* ONE isolated `HASNA_HOME` isolating both the credential file and the store:
|
|
23
|
+
* before this, a run with `HASNA_HOME=/tmp/x` read its credential from
|
|
24
|
+
* `/tmp/x/todos/config/credentials` but still opened the operator's real
|
|
25
|
+
* `~/.hasna/todos/todos.db` (hasna/apps#1720 validation).
|
|
26
|
+
*/
|
|
27
|
+
export declare function hasnaHomeRoot(env?: NodeJS.ProcessEnv): string;
|
|
28
|
+
/** Pre-XDG default data home: `<hasna root>/todos`, i.e. `~/.hasna/todos`. */
|
|
19
29
|
export declare function legacyHomeDir(env?: NodeJS.ProcessEnv): string;
|
|
20
30
|
/**
|
|
21
31
|
* The @hasna/paths-resolved data home for todos (XDG / macOS home layout).
|
package/dist/lib/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAS7D,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AA0DD,wBAAgB,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE1E;AAED,
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAS7D,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AA0DD,wBAAgB,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAI1E;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAOT;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGxE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE7E;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE3E;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE1E"}
|
package/dist/mcp/index.d.ts
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import type { Task } from "../types/index.js";
|
|
4
|
+
interface AgentFocus {
|
|
5
|
+
agent_id: string;
|
|
6
|
+
project_id?: string;
|
|
7
|
+
task_list_id?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Session focus, keyed by agent id. Exported so a test can drive the real
|
|
11
|
+
* `applyFocus` through the session path without a live MCP transport.
|
|
12
|
+
*/
|
|
13
|
+
export declare const agentFocusMap: Map<string, AgentFocus>;
|
|
4
14
|
export declare function applyFocus(params: Record<string, any>, agentId?: string): void;
|
|
5
15
|
export declare function formatError(error: unknown): string;
|
|
6
16
|
/** Compact single-line task summary for mutation responses (create/update/start/complete). */
|
|
@@ -8,4 +18,46 @@ export declare function formatTask(task: Task): string;
|
|
|
8
18
|
/** Full multi-line task detail for get_task responses. */
|
|
9
19
|
export declare function formatTaskDetail(task: Task, maxDescriptionChars?: number): string;
|
|
10
20
|
export declare function buildServer(): McpServer;
|
|
21
|
+
export type TodosMcpAuthority = {
|
|
22
|
+
route: "local";
|
|
23
|
+
notice: string;
|
|
24
|
+
} | {
|
|
25
|
+
route: "hosted";
|
|
26
|
+
v1_base_url: string;
|
|
27
|
+
source: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Decide the stdio server's authority BEFORE anything can open a store.
|
|
31
|
+
*
|
|
32
|
+
* Same preamble, same resolver, same refusals as the CLI's stage A: the
|
|
33
|
+
* deliberate `HASNA_TODOS_LOCAL=1` opt-in is answered first and without
|
|
34
|
+
* consulting the resolver; otherwise the `@hasna/contracts` chain must resolve
|
|
35
|
+
* a credential (explicit pointer tiers, the macOS Keychain item
|
|
36
|
+
* `hasna.credentials.todos.api-key`, `~/.hasna/todos/config/credentials`,
|
|
37
|
+
* `HASNA_TODOS_API_KEY`) or this THROWS the CLI's `REMOTE_API_*` diagnostic.
|
|
38
|
+
* The server used to skip this decision entirely and call
|
|
39
|
+
* `startRuntimeShadowDrain(getDatabase())` unconditionally, which created
|
|
40
|
+
* `~/.hasna/todos/todos.db` (+ -wal/-shm, migrations, a machine heartbeat)
|
|
41
|
+
* on every start — hosted, unconfigured, or not — before answering
|
|
42
|
+
* `initialize` (hasna/apps#1720 validation).
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveTodosMcpAuthority(env?: Record<string, string | undefined>): TodosMcpAuthority;
|
|
45
|
+
/**
|
|
46
|
+
* The refusal every local-only tool and `todos://` resource returns on the
|
|
47
|
+
* hosted route. Mirrors stage A's `REMOTE_COMMAND_UNSUPPORTED` for a
|
|
48
|
+
* local-only verb: it names the opt-in, never a credential value.
|
|
49
|
+
*/
|
|
50
|
+
export declare function hostedRouteLocalStoreRefusal(v1BaseUrl: string): string;
|
|
51
|
+
/** Exit code for a refused `todos-mcp --http` / `--port` / `MCP_HTTP=1` request. */
|
|
52
|
+
export declare const MCP_HTTP_REFUSED_EXIT_CODE = 2;
|
|
53
|
+
/**
|
|
54
|
+
* The one line `todos-mcp` prints when asked for the HTTP transport. The MCP
|
|
55
|
+
* bin is stdio-only: the Streamable HTTP transport is a listener with an auth
|
|
56
|
+
* posture, and that is `todos-serve`'s job (it mounts `POST /mcp` next to
|
|
57
|
+
* `/api/*`). This bin used to start the FULL `todos-serve` app here with
|
|
58
|
+
* `allowAnonymous: true` — a server-only code path reachable from a client
|
|
59
|
+
* binary that MCP clients spawn with no credential.
|
|
60
|
+
*/
|
|
61
|
+
export declare function mcpHttpRefusal(): string;
|
|
62
|
+
export {};
|
|
11
63
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuBpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAqE9C,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,yBAAgC,CAAC;AAuB3D,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAO9E;AAmDD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA6FlD;AAsBD,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAO7C;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CA6BjF;AAID,wBAAgB,WAAW,cAsD1B;AAID,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAqD,GAC1F,iBAAiB,CAMnB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOtE;AAID,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAMvC"}
|