Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ERRORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ Hint: polylane workspace use <id>

These are the non-obvious command-level behaviours an agent should know about. Specific error strings are subject to change — use these as categories you can rely on.

### Destructive operations (`auth logout`, `integration disconnect`, `cloud disconnect`, `memory delete`, …)
### Destructive operations (`auth logout`, `integration disconnect`, `cloud disconnect`, …)

- Prompt for confirmation in interactive mode.
- Require `--yes` in non-interactive mode, else exit `2`.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ polylane issue note <issue-id> "rolled back deploy"
polylane service logs <service> --since 1h --grep error
polylane tools run findNodes --params '{"query":"api"}'
polylane thread ask "<prompt>"
polylane memory save "<finding>"
polylane memory list # what the agent has learned (git-backed)
```

## Discovering commands
Expand Down
10 changes: 6 additions & 4 deletions skill/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,16 +179,18 @@ polylane issue note <issue-id> "rolled back deploy ABC"
polylane issue milestone <issue-id> "Mitigated"

# Drill into services
polylane service find "<query>"
polylane service find <part-of-name> # matches id, name or alternate name
polylane service logs <service-id> --since 1h --grep error
polylane service metrics <service-id> --metric <name> --since 1h
polylane service graph <service-id> --direction both --depth 1

# Find the repository, then search it in a local clone
polylane repo find "<query>"

# Save what you learned
polylane memory save "<finding>"
# Read what the agent has learned about this workspace
polylane memory list [--path <dir>]
polylane memory show <path>
polylane memory history
```

### Running agent tools directly
Expand Down Expand Up @@ -238,7 +240,7 @@ Attach resources as context by passing their IDs — the CLI infers the resource
polylane workspace list --output json | jq '.items[0].id'

# Chain: find a service → check its logs
SVC=$(polylane service find "payment lambda" --output json --quiet | jq -r '.items[0].id')
SVC=$(polylane service find payments --output json --quiet | jq -r '.items[0].id')
polylane service logs "$SVC" --since 1h --grep error

# Fire-and-forget + later poll
Expand Down
4 changes: 0 additions & 4 deletions src/commands/feed/index.ts

This file was deleted.

145 changes: 0 additions & 145 deletions src/commands/feed/list.ts

This file was deleted.

46 changes: 0 additions & 46 deletions src/commands/feed/summary.ts

This file was deleted.

4 changes: 0 additions & 4 deletions src/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { configCommands } from './config';
import { helpCommand } from './help';
import { setupCommand } from './setup';
import { updateCommand } from './update';
import { feedCommands } from './feed';
import { issueCommands } from './issue';
import { serviceCommands } from './service';
import { repoCommands } from './repo';
Expand All @@ -16,7 +15,6 @@ import { workspaceCommands } from './workspace';
import { subscriptionCommands } from './subscription';
import { apiCommands } from './api';
import { telemetryCommands } from './telemetry';
import { noteCommands } from './note';
import { autofixCommands } from './autofix';
import { artifactCommands } from './artifact';
import { toolsCommands } from './tools';
Expand All @@ -28,7 +26,6 @@ export function registerAllCommands(): void {
registered = true;

const all = [
...feedCommands,
...issueCommands,
...serviceCommands,
...repoCommands,
Expand All @@ -38,7 +35,6 @@ export function registerAllCommands(): void {
...cloudCommands,
...workspaceCommands,
...subscriptionCommands,
...noteCommands,
...autofixCommands,
...artifactCommands,
...toolsCommands,
Expand Down
34 changes: 0 additions & 34 deletions src/commands/memory/delete.ts

This file was deleted.

39 changes: 0 additions & 39 deletions src/commands/memory/find.ts

This file was deleted.

35 changes: 35 additions & 0 deletions src/commands/memory/history.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import type { Command } from '../../command';
import type { Config } from '../../config/schema';
import { PolylaneAPI } from '../../generated/client';
import { formatList } from '../../output/formatter';
import { requireWorkspace, getArgNumber } from '../helpers';

export const memoryHistoryCommand: Command = {
name: 'memory history',
description: 'List recent commits to the workspace memory repository',
operationId: 'memories.commits',
options: [{ flag: '--limit <n>', description: 'Max commits (default 20)', type: 'number' }],
async execute(config: Config, _flags, args: Record<string, unknown>): Promise<void> {
const workspaceId = await requireWorkspace(config);
const limit = getArgNumber(args, 'limit') ?? 20;

const api = new PolylaneAPI(config);
const result = await api.memoriesCommits(workspaceId, { limit });

const items = result.items.map((c) => ({
hash: c.hash,
subject: c.subject,
author: c.authorName,
committed: new Date(c.committedAt * 1000).toISOString(),
}));

formatList(
config,
{ items, count: items.length },
{
headers: ['Commit', 'Subject', 'Author', 'Committed'],
rows: (item) => [item.hash.slice(0, 7), item.subject, item.author, item.committed],
}
);
},
};
Loading
Loading